MULTISIM SIMULACE A ANALÝZA ČÍSLICOVÝCH OBVODŮ úlohy učební skripta
Ing. Dagmar Čurdová, Ing. Petr Velech - Trutnov 2005
Vypracovala Střední průmyslová škola a Střední odborné učiliště, Trutnov, Školní 101, jako projekt v rámci Státní informační politiky ve vzdělávání (SIPVZ). Realizace projektu byla podpořena příspěvkem Královéhradeckého kraje.
Copyright © Střední průmyslová škola a Střední odborné učiliště, Trutnov, Školní 101, 2005.
Obsah: ÚVOD, SEZNÁMENÍ S PROGRAMEM Program MultiSIM Nastavení Výběr prvku Orientace a vlastnosti prvku Odlišnosti a omezení
-1-1-2-2-3-4-
VLASTNÍ ÚLOHY
-5-
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
-5- 10 - 12 - 14 - 16 - 18 - 21 - 23 - 25 - 28 - 31 - 33 -
Ověření pravidel Booleovy algebry Návrh logické funkce pro ovládání motoru výtahu Návrh logické funkce zabezpečovacího zařízení Minimalizace a realizace logické funkce Návrh logické funkce pro rozhodování výroků Návrh logické funkce pro signalizaci strojů Minimalizace logické funkce libovolnými hradly Minimalizace logické funkce pomocí hradel NAND Realizace logických funkcí pomocí hradel NOR Realizace logických funkcí pomocí hradel NAND Měření na klopném obvodu R-S Měření na klopném obvodu D
Úvod, seznámení s programem Program MultiSIM Program firmy Electronics Workbench MultiSIM je elektronická laboratoř na počítači pro analogovou a digitální analýzu nakresleného elektronického obvodu. Je to vynikající pomocník pro vývoj elektronických zapojení a výborně se hodí i pro výuku ve školách. Má jednoduché interaktivní ovládání. Kromě obvyklých vlastností takovýchto programů, jako je sestavení obvodů ze součástek v knihovnách a různé druhy simulací, obsahuje program Electronics Workbench MultiSIM i množství měřících přístrojů, které lze vložit na pracovní plochu a zapojit je do schématu. Po spuštění simulace se pak s nimi měří jako na jejich skutečných vzorech. Jsou zde i neobvyklé přístroje, jako například logický převodník, který umí vytvořit z popisu v Boolově algebře zapojení součástek provádějící požadovanou funkci nebo ze zapojení zapsat pravdivostní tabulku a výraz v Boolově algebře, či generátor kódu, vysílající do sběrnice série nastavených dat. Program umožňuje nakreslit schematické zapojení obvodu, ke kterému lze připojit přímo na obrazovce různé měřicí přístroje: voltmetry, ampérmetry, digitální multimetr, dvoukanálový osciloskop, 16-kanálový logický analyzátor, atd. Tyto přístroje jsou součástí programu a plně nahrazují skutečné přístroje. Program umožňuje provádět měření ve vybraných uzlech obvodu a průběhy měřených veličin zobrazit v grafické formě. Díky použitému principu měření umožňuje MultiSIM provádět simulaci na analogových i digitálních obvodech najednou. Počet měřicích přístrojů zapojených v obvodu není omezen. Součástí programu je knihovna modelu součástek se všemi potřebnými parametry pro analýzu obvodu. K dispozici je několik tisíc modelů (to závisí na verzi programu). Většinu modelů součástek lze dále upravovat podle potřeby. Pomocí prvků již obsažených v knihovně programu lze vytvořit vlastní součástku ve formě pod-obvodu (subcircuit), který lze uložit do knihovny. Na program MultiSIM navazuje přímo i program UltiBOARD pro návrh desek plošných spojů, takže schéma, které se nakreslí v MultiSIMu, lze použít pro návrh DPS bez nutných úprav. Návaznost na jiné programy je zajištěna prostřednictvím převodníku dat pro import a export a pro export nakresleného zapojení do některých návrhových systému plošných spojů (Eagle, OrCAD, ...), výsledky analýz je možné exportovat do programu MathCAD a MS Excel.
-1-
Nastavení Programem MultiSIM vlastně kreslíme schémata elektrických obvodů, která lze následně analyzovat a detailně zjišťovat jejich chování. Pro kreslení elektrických schémat je nejprve nutné zajistit požadované nastavení programu. Nastavení se provádí v nabídce OPTIONS, přičemž pro kreslení schématických značek v Evropské (naší) normě je zapotřebí v podnabídce GLOBAL PREFERENCES, záložce Parts zaškrtnout v části Symbol standart normu DIN. Dále je nutné zvolit velikost schématu, což se nastavuje v podnabídce SHEET PROPERTIES, záložce Workspace části Sheet size.
Výběr prvku Pro kreslení schémat vybíráme jednotlivé prvky obvodu. Ty lze vybírat prostřednictvím nabídky na liště Select a Component. Prvky zde jsou rozděleny do skupin podle funkce v elektrickém obvodu. Po zvolení dané skupiny z nabídky na liště Select a Component se nám rozbalí okno pro výběr námi požadovaného prvku pro umístění do schématu. Okno výběru prvku kromě skupiny (Group) obsahuje dále rodinu (Family) a seznam prvků patřících do tohoto výběru. Skupina (Group) odpovídá jednotlivým nabídkám lišty Select a Component, proto při změně prvku z jiné skupiny není nutno okno výběru uzavírat. Stačí pouze změnit danou skupinu. Okno výběru obsahuje schématickou značku a popis funkce vybraného prvku. Po potvrzení OK lze prvek umístit do schématu.
-2-
Orientace a vlastnosti prvku Při kreslení elektrických schémat je nutné mít možnost orientace prvku ve schématu. Otáčení prvků je po výběru (označení levým tlačítkem myši) daného prvku ve schématu možno buď přímo pomocí tzv. horkých kláves nebo rozbalením nabídky pro daný prvek pravým tlačítkem myši a výběru požadované funkce. Nabídka obsahuje i klávesovou zkratku jednotlivých funkcí. Důležitou funkcí programu MultiSIM je změna nebo upřesnění vlastností jednotlivých prvků. Opět je možnost použití klávesové zkratky CTRL+M nebo výběr PROPERTIES v nabídce daného prvku. U zobrazeného příkladu se jedná o změnu orientace přepínače a nastavení klávesy, která tento přepínač ovládá.
-3-
Odlišnosti a omezení Při tvorbě vlastních úloh byly zjištěny určité nesrovnalosti mezi skutečností a simulací pomocí programu MultiSIM. V první řadě se jedná o logické stavy číslicových obvodů řady TTL, kdy jsou nezapojené vstupy těchto obvodů programem MultiSIM brány jako log. 0, což je v rozporu se skutečnými obvody. Ve skutečnosti jsou nezapojené vstupy TTL obvodů ve stavu log. 1. Dále se jedná o podezřelé chování čítačů 7493 v některých případech, kdy při použití obou řídících signálů reset pro vynulování výstupní hodnoty tyto nezajišťují reset ve shodě se skutečnými obvody. Tento nedostatek však lze odstranit vložením dvouvstupového hradla AND, kde vstupy hradla nahradí vstupy čítače a výstup hradla je zapojen na řídící signály reset čítače. Jako další nedostatek se projevilo řešení simulace obvodů se složitější zpětnou vazbou, kdy program nedokázal věrně simulovat tato zapojení. Stejně tak nelze simulovat rychlé děje s grafickým výstupem na monitor jako je například multiplexní řízení sedmisegmentového displeje.
-4-
Vlastní úlohy Ověření pravidel Booleovy algebry
Vlastní úlohy 1. Ověření pravidel Booleovy algebry Zadání Ověřte platnost základních zákonů Booleovy algebry. Navrhněte a realizujte zapojení pro důkaz zákona komutativního, asociativního a distributivního. Vytvořte pravdivostní tabulky a ověřte jejich platnost.
Řešení Komutativní zákon definuje záměnnost vstupních proměnných pro obě základní logické funkce součin a součet. A
&
=
Y
B
&
B
Y
A
32
32
A.B = B.A A
1
=
Y
B
1
B
Y
A
00
00
A+B = B+A Asociativní zákon definuje libovolnost pořadí operací při vícenásobném postupu v logickém součtu (YA+) a součinu (YA*). 1
A
B
1
B
=
32
1
A
Y
1
32
C
Y
C
32
YA+:
A + (B + C) = (A + B) + C &
A B
32
Y &
=
A B
08
C
&
&
08
Y
C
08
YA*:
08
A . (B . C) = (A . B) . C
-5-
Vlastní úlohy Ověření pravidel Booleovy algebry &
A
1
B
=
08
&
A
Y
B 1
08
C
Y
&
32
32
C
08
Distributivní zákon definuje rozklad logického součinu a součtu při operacích v závorkách. Pro logický součet neplatí obdoba v klasické algebře (YD1, YD2). YD1:
A . ( B + C) = (A . B) + (A . C) 1
A
&
B
=
32
1
A
Y
B &
32
C
Y
1
08
08
C
32
YD2:
A+ (B . C) = (A + B) . (A + C)
Pravdivostní tabulka k asociativnímu a distributivnímu zákonu: C
B
A
YA+
YA*
YD1
YD2
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
1
1
-6-
Vlastní úlohy Ověření pravidel Booleovy algebry
Realizace Komunikativní zákon
A.B=B.A
A+B=B+A -7-
Vlastní úlohy Ověření pravidel Booleovy algebry
Asociativní zákon
A + (B + C) = (A + B) + C
A . (B . C) = (A . B) . C
-8-
Vlastní úlohy Ověření pravidel Booleovy algebry
Distributivní zákon
A . ( B + C) = (A . B) + (A . C)
A+ (B . C) = (A + B) . (A + C)
-9-
Vlastní úlohy Návrh logické funkce pro ovládání motoru výtahu
2. Návrh logické funkce pro ovládání motoru výtahu Zadání Navrhněte a realizujte logickou funkci pro ovládání motoru výtahu. Motor výtahu se rozeběhne, je-li současně stlačeno tlačítko volby patra, není stlačeno nouzové tlačítko STOP a dveře výtahu jsou zavřeny. Nadefinujte proměnné, vytvořte funkci, pravdivostní tabulku, pomocí hradel realizujte a ověřte funkčnost.
Řešení Označíme jednotlivé proměnné pro danou funkci a jejich logické stavy. A=0 A=1
tlačítko volby patra není stlačeno tlačítko volby patra je stlačeno
B=0 B=1
nouzové tlačítko STOP není stlačeno nouzové tlačítko STOP je stlačeno
C=0 C=1
dveře nejsou zavřeny dveře jsou zavřeny
Y=0 Y=1
motor výtahu neběží motor výtahu běží
Funkce Y je rovna jedné při současném splnění podmínek (jde o funkci AND). A = 1, B = 0 a C = 1. Řešením je logická funkce Y = A.B.C C
B
A
Y
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
Zapojení pro danou logickou funkci je: A
B
C
1
&
04
10
1 Y
- 10 -
Vlastní úlohy Návrh logické funkce pro ovládání motoru výtahu
Realizace
- 11 -
Vlastní úlohy Návrh logické funkce zabezpečovacího zařízení
3. Návrh logické funkce zabezpečovacího zařízení Zadání Navrhněte a realizujte logickou funkci zabezpečovacího zařízení pro hlídání okna a dveří objektu. Je-li zařízení zapnuto, dojde při otevření okna nebo dveří nebo obou současně k poplachu. Nadefinujte proměnné, vytvořte funkci, pravdivostní tabulku, pomocí hradel realizujte a ověřte funkčnost.
Řešení Nadefinujeme jednotlivé proměnné pro danou logickou funkci a jejich logické stavy. A=0 A=1
okno zavřené okno otevřené
B=0 B=1
dveře zavřené dveře otevřené
C=0 C=1
zařízení vypnuté zařízení zapnuté
Y=0 Y=1
siréna nehouká siréna houká
K poplachu dojde jen tehdy, je-li současně C = 1 a člen (A + B) = 1. Člen (A + B) je roven jedné, je-li A = 1 nebo B = 1 nebo A i B současně rovno jedné. Řešením úlohy je logická funkce Y = C . (A + B). C
B
A
Y
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
Zapojení, vyjadřující logickou funkci je A
1 &
B
Y
32 C
08
- 12 -
Vlastní úlohy Návrh logické funkce zabezpečovacího zařízení
Realizace
- 13 -
Vlastní úlohy Minimalizace a realizace logické funkce
4. Minimalizace a realizace logické funkce Zadání 1
A
&
04
1
1
08
B
&
Y
04
02
08 Zapojte obvod podle obrázku, zapište funkci Y algebraicky, pravdivostní tabulkou a pomocí mapy. Proveďte minimalizaci algebraicky i mapou a minimalizovanou funkci opět zrealizujte.
Řešení Zapojení realizuje funkci Y = A.B + A.B , jejíž pravdivost vyjadřuje tabulka. B
A
Y
0
0
0
0
1
0
1
0
1
1
1
1
Funkci Y minimalizujeme algebraicky Y = B.(A + A) = B . Minimalizací Karnaughovy mapy docházíme ke stejnému výsledku Y = B. Schéma zapojení pro minimalizovanou funkci Y = B je
- 14 -
Vlastní úlohy Minimalizace a realizace logické funkce
Realizace
- 15 -
Vlastní úlohy Návrh logické funkce pro rozhodování výroků
5. Návrh logické funkce pro rozhodování výroků Zadání Navrhněte logickou funkci pro vyjádření rozhodovací funkce několika logických výroků. Logická funkce nabývá pouze dvou hodnot – pravdivá a nepravdivá. Výslednou logickou funkci realizujte pomocí hradel a na základě pravdivosti distributivního zákona vytvořte ekvivalentní řešení a opět realizujte zapojení. Chlapec a dívka chtějí jet společně autem na výlet. Rozhodnutí Y závisí na těchto podmínkách: A. chlapec chce jet společně na výlet, A. dívka chce jet společně na výlet, B. chlapec vlastní auto a řidičský průkaz, C. dívka vlastní auto a řidičský průkaz.
Řešení Chlapec a dívka pojedou společně na výlet, když A a B jsou pravdivé a současně C nebo D jsou pravdivé. Rozhodnutí Y je pravdivé, je-li součin A . B pravdivý a současně součet C + D je pravdivý. Výsledná funkce Y se rovná A . B . (C + D). Schéma zapojení je na obrázku: A
&
B &
08 C
Y
1
08
D
32 Úpravou rovnice pro Y dostaneme ekvivalentní řešení s použitím distributivního zákona Y=A.B.C+A.B.D. A B C
&
1
Y
08 &
&
A B C
10 &
32
D
1 04 1
D
08
(vytvoření pomocí hradel AND)
10
1
Y
32
04
(vytvoření pomocí hradel NAND)
- 16 -
Vlastní úlohy Návrh logické funkce pro rozhodování výroků
Realizace
- 17 -
Vlastní úlohy Návrh logické funkce pro signalizaci strojů
6. Návrh logické funkce pro signalizaci strojů Zadání Navrhněte a realizujte logickou funkci pro signalizaci chodu tří strojů v dílně pro tyto podmínky: a) signalizace svítí, je-li jeden stroj v chodu, b) signalizace svítí, jsou-li dva libovolné stroje v chodu, c) signalizace svítí, jsou-li všechny tři stroje v chodu. Nadefinujte proměnné. Pro všechny tři podmínky vytvořte logickou funkci, pravdivostní tabulku, realizujte zapojení s použitím libovolných hradel a ověřte funkčnost zařízení.
Řešení Jednotlivé proměnné pro danou logickou funkci a jejich logické stavy jsou nadefinovány takto: A=0 stroj A je v klidu
A=1 stroj A je v chodu
B=0 stroj B je v klidu
B=1 stoj B je v chodu
C=0 stroj C je v klidu
C=1 stoj C je v chodu
Y=0 signalizace nesvítí
Y=1 signalizace svítí
a) Jeden stroj v chodu Pro tuto podmínku platí logická funkce Y= A.B.C + A.B.C + A.B.C . Pravdivostní tabulka:
Zapojení pro tuto logickou funkci:
C
B
A
Y
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
&
A 1
10 04
&
B
&
Y
1 04
10
&
C 1 04
- 18 -
10
10
Vlastní úlohy Návrh logické funkce pro signalizaci strojů
b) Libovolné dva stroje v chodu Pro tuto podmínku platí logická funkce Y= A.B.C + A.B.C + A.B.C . Pravdivostní tabulka:
Zapojení pro tuto logickou funkci:
C
B
A
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
0
&
A 1
10 04
&
B
Y
1
10
04
&
C 1
10
04
c) Všechny tři stroje v chodu Pro tuto podmínku platí logická funkce Y=A.B.C . Pravdivostní tabulka:
Zapojení pro tuto logickou funkci:
C
B
A
Y
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
&
&
A B C
1 Y
10
- 19 -
04
10
Vlastní úlohy Návrh logické funkce pro signalizaci strojů
Realizace
- 20 -
Vlastní úlohy Minimalizace logické funkce libovolnými hradly
7. Minimalizace logické funkce libovolnými hradly Zadání Je dána logická funkce Y = A.B.C + A.B.C . Navrhněte a realizujte zapojení této funkce, proveďte její minimalizaci algebraicky i mapou a zminimalizovanou funkci opět realizujte. Ověřte totožnost původní a minimalizované funkce.
Řešení Schéma zapojení dané logické funkce Y: &
A B C
10
1 04
1
Y &
1
32
1
10
04
04
Algebraická minimalizace využívá identit Booleovy algebry. Y = A.B.C + A.B.C
Y = B.C.(A + A) Y = B.C Minimalizace Karnaughovou mapou vypadá takto:
Zapojení pro minimalizovanou funkci: B
&
Y
C
08
- 21 -
Vlastní úlohy Minimalizace logické funkce libovolnými hradly
Realizace
- 22 -
Vlastní úlohy Minimalizace logické funkce pomocí hradel NAND
8. Minimalizace logické funkce pomocí hradel NAND Zadání Zadanou funkci zrealizujte pomocí členů NAND. Zminimalizujte algebraicky i mapou a minimalizovanou funkci opět zrealizujte. Vytvořte pravdivostní tabulku a porovnejte totožnost obou zapojení. Y = A.B.C + A.B.C + A.B.C + A.B.C
Řešení Zadanou funkci zrealizujeme pomocí hradel NAND: & 1
___ ABC
A
10 02 &
1
__ ABC
10
B
&
Y 02
&
10
10 _ _ ABC
1
C &
_ ABC
02
10
S použitím pravidel Boolovy algebra zadanou funkci zminimalizujem algebraicky a potom pomocí Karnaughovy mapy. Zjednodušená funkce oběma způsoby je totožná a vyjde: Pravdivostní tabulka původní funkce:
Y = A.C + A.B B A
1
1
0
1
0
1
0
0
C
- 23 -
C
B
A
Y
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
Vlastní úlohy Minimalizace logické funkce pomocí hradel NAND
Minimalizovanou funkci opět zrealizujeme pomocí hradel NAND a porovnáme chování na výstupu s původní podle pravdivostní tabulky. &
A
00
&
&
B
00
00
_ AB
&
Y &
__ AC
00
&
C
00
00
Realizace
- 24 -
Vlastní úlohy Realizace logických funkcí pomocí hradel NOR
9. Realizace logických funkcí pomocí hradel NOR Zadání Pomocí logické funkce NOR navrhněte a realizujte zapojení základních logických funkcí AND, OR, NAND.
Řešení Pro vytvoření základních logických funkcí pomocí funkce NOR využijeme identity Booleovy algebry ( 1 ) a de Morganovy teorémy ( 2 ). 1) A.A = A
A=A
2) A.B = A + B A + B = A.B
funkce AND
funkce NAND
funkce OR
- 25 -
Vlastní úlohy Realizace logických funkcí pomocí hradel NOR
funkce NOR
funkce NOT
Realizace
- 26 -
Vlastní úlohy Realizace logických funkcí pomocí hradel NOR
- 27 -
Vlastní úlohy Realizace logických funkcí pomocí hradel NAND
10. Realizace logických funkcí pomocí hradel NAND Zadání Pomocí logické funkce NAND navrhněte a realizujte zapojení základních logických funkcí AND, OR, NOR, NOT.
Řešení Pro vytvoření základních logických funkcí pomocí funkce NAND využijeme identity Booleovy algebry ( 1 ) a de Morganovy teorémy ( 2 ). 2) A.B = A + B
1) A.A = A
A + B = A.B
A=A funkce AND
funkce NAND
funkce OR &
A
A
1
Y
B
32
=
00
&
&
00
B
Y
00
funkce NOR
- 28 -
Vlastní úlohy Realizace logických funkcí pomocí hradel NAND
funkce NOT A
1
04
Y
=
&
A
Y 00
Realizace
- 29 -
Vlastní úlohy Realizace logických funkcí pomocí hradel NAND
- 30 -
Vlastní úlohy Měření na klopném obvodu R-S
11. Měření na klopném obvodu R-S Zadání Ověřte funkčnost a správnost pravdivostní tabulky pro KO R-S: Porovnejte následující zapojení a ověřte jejich shodnost nebo rozdílnost pomocí pravdivostní tabulky. 1. Realizujte KO R-S pomocí hradel NOR. 2. Realizujte KO R-S pomocí hradel NAND.
Řešení ad 1. R
S
Q
Q
0
0
N
N
0
1
0
1
1
0
1
0
1
1
*
*
1
R
Q 02
1
Q
S
N – nemění stav * – zakázaný stav
02
KO sestavený z členů NOR se nastavuje nebo nuluje signálem s úrovní „1“ na jednom vstupu, je-li současně na druhém vstupu úroveň „0“. Při nulové úrovni na obou vstupech neklopí, ale zachovává si předchozí stav a při obou vstupech na hodnotě „1“ se dostává do „zakázaného stavu. ad 2.
S
R
Q
Q R
&
0
0
*
*
0
1
0
1
00
1
0
1
0
&
1
1
N
N
Q
Q S
00
N – nemění stav * – zakázaný stav KO sestavený z členů NAND se překlápí pouze v tom případě, že na některý vstup přichází úroveň „0“, zatímco na druhém je úroveň „1“. Při nulové úrovni na obou vstupech se dostává do „zakázaného stavu“ a při obou vstupech na hodnotě „1“ KO neklopí. Tento KO je vlastně řízen negovanými vstupy.
- 31 -
Vlastní úlohy Měření na klopném obvodu R-S
Realizace
- 32 -
Vlastní úlohy Měření na klopném obvodu D
12. Měření na klopném obvodu D Zadání 1. Vypracujte teoretický rozbor vzniku KO D. 2. Nakreslete a realizujte KO D z členů NAND.
Řešení Klopný obvod D vychází z klopného obvodu RST tak, že vstup R je propojen se vstupem S prostřednictvím investoru. Z toho plyne, že R a S mají vždy opačnou úroveň a vzniká jediný vstup D. Tím se vylučuje možnost vzniku nežádoucího stavu. Blokové schéma: &
D
&
Q
00 Cl &
00 &
Q
1
02
00
00
Pravdivostní tabulka pro klopný obvod D: Cl
D
Q
0
0
0
1
1
0
0
1
1
1
- 33 -
Vlastní úlohy Měření na klopném obvodu D
Realizace
- 34 -