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 2 Autorem tohoto výukového materiálu je Ing. Miroslav Veverka SOŠ informatiky a spojů a SOU, Jaselská 826, Kolín 2
OBSAH Sekvenční logické obvody Klopné obvody Registry Čítače Literatura 3
Sekvenční logické obvody
Sekvenční logické obvody výstupní stav závisí nejen na současné hodnotě vstupních hodnot, ale i na předcházejících vstupních stavech jejich základní charakteristickou vlastností je paměť paměťové chování se realizuje zpětnou vazbou vstup kombinační obvod výstup paměť zpětná vazba 5
Klopné obvody
Klopné obvody tvoří základní prvky sekvenčních logických obvodů sekvenční logické obvody jsou řízeny periodickým signálem hodinami (clock) klopný obvod: bistabilní má dva stabilní stavy, setrvává ve stavu, dokud není vstupním signálem překlopen do druhého monostabilní má jeden stabilní stav, v němž setrvává, do druhého ho překlopí vstupní signál, po chvilce se vrací zpět do stabilního stavu astabilní má dva nestabilní stavy, mezi nimiž stále přechází kmitá 7
Klopný obvod RS má dva vstupy: má dva výstupy: S set nastavení R reset nulování Q a Q jejich stav je vzájemně opačný je-li Q=1 a Q=0 obvod je nastaven ("nahozen") je-li Q=0 a Q=1 obvod je nulován schematická značka Q Q 8
Klopný obvod RS z hradel NOR z pravdivostní tabulky hradla NOR vyplývá, že je-li na jednom ze vstupů log. 1, pak je výstup v log. 0 říkáme, že log. 1 je u hradla NOR agresivní po přivedení napětí se klopný obvod vlivem rozptylu vlastností součástek překlopí do předem nedefinovaného stavu R S A B Y 0 0 1 0 1 0 1 0 0 1 1 0 1 1 Q Q 9
Činnost KO z hradel NOR předpokládejme, že klopný obvod (KO) se překlopí do stavu Q=0 log.1 se z výstupu Q přenese na vstup horního hradla a "potvrdí" Q=0 R=0 1 1 Q=0 S=0 0 1 Q =1 A B Y 0 0 1 0 1 0 1 0 0 1 1 0 10
Činnost KO z hradel NOR nastavíme S=1 "agresivní" 1 na dolním hradle způsobí Q'=0 dvě 0 na horním hradle způsobí Q=1 KO se nastaví: Q=1 R=0 0 1 Q=1 S=1 1 1 Q =0 A B Y 0 0 1 0 1 0 1 0 0 1 1 0 11
Činnost KO z hradel NOR změní li se hodnota S=0, stav KO se nezmění, protože kombinace 10 na spodním hradle dává stále hodnotu výstupu 0 KO si pamatuje předchozí stav Q=1 R=0 0 1 Q=1 S=0 1 1 Q =0 A B Y 0 0 1 0 1 0 1 0 0 1 1 0 12
Činnost KO z hradel NOR nastavíme R=1 dvě 1 na horním hradle způsobí Q=0 dvě 0 na dolní hradle způsobí Q'=1 KO se vynuluje Q=0 R=1 1 1 Q=0 S=0 0 1 Q =1 A B Y 0 0 1 0 1 0 1 0 0 1 1 0 13
Činnost KO z hradel NOR změní li se hodnota R=0, stav KO se nezmění, protože kombinace 01 na horním hradle dává stále hodnotu výstupu 0 KO zůstává vynulován: Q=0 R=0 1 1 Q=0 S=0 0 1 Q =1 A B Y 0 0 1 0 1 0 1 0 0 1 1 0 14
Činnost KO z hradel NOR zvláštní případ nastane, bude-li současně R=1 a S=1, pak na výstupech bude Q=0 a současně Q'=0 tento stav je v rozporu s definicí výstupních signálů, ty musí být vzájemně opačné navíc při současném zániku signálů (R=S=0) se KO překlopí do náhodného stavu R=1 1 1 Q=0 stavu R=S=1 se musíme vyhnout S=1 0 1 Q =0 A B Y 0 0 1 0 1 0 1 0 0 1 1 0 15
Činnost KO z hradel NOR pravdivostní tabulka S R Q 0 0 nemění stav 0 1 0 1 0 1 1 1 zakázaný stav časový diagram t 0 KO je v klidovém stavu t 1 S=1, pak Q=1, zůstává i po S=0 t 2 R=1, pak Q=O t 3 R=1, pak Q=1 t 4 stav se nemění, již v t 3 byl překlopen S R Q Q t 0 t 1 t 2 t 3 t 4 t 5 16
Klopný obvod RS z hradel NAND klopný obvod RS lze také sestavit z hradel NAND u hradla NAND je "agresivní" na vstupu úroveň log. 0, při jejím výskytu je na výstupu log. 0 abychom vyhověli definici vstupů R a S, tedy aby pro překlopení obvodu byla na jednom ze vstupů log. 1, a zároveň platila pravdivostní tabulka, musíme před vstupy zařadit invertory S R & & Q Q S R 1 1 & & Q Q A B Y 0 0 1 0 1 1 1 0 1 1 1 0 17
Odstranění zákmitů spínače pomocí KO RS mechanické spínače při sepnutí i vypnutí trpí zákmity opakovanými sepnutími R +5V 1k2 nesepnuto výstup Tlačítko rozhodovací úroveň sepnuto +5V první dotyk kontaktu s dorazem 1 nebo 2 překlopí KO RS, ostatní dotyky již se neprojeví PŘ 1 2 & & Q +5V 18
Klopný obvod RST KO RS je tzv. asynchronní obvod, výstup ihned reagoval na vstupní hodnoty RST je synchronní KO, obvod je řízen hodinovými impulzy (clock, označuje se C nebo T), není-li hodinový signál aktivní, jakákoliv činnost na vstupech se na výstupu neprojeví S C R T Q Q 19
Klopný obvod RST pravdivostní tabulka je stejná jako u asynchronního RS KO, platí však pro stav, kdy T=1 časový diagram: kvůli zpoždění hradel musí být na hodinovém vstupu signál dříve, než na vstupech R nebo S, jinak obvod nestačí reagovat (čas t 3 ) T S R Q 0 X X nemění stav 1 0 0 nemění stav 1 0 1 0 1 1 0 1 1 1 1 zakázaný stav T S R Q t 0 t 1 t 2 t 3 t 4 t 5 20
Dynamické vstupy klopných obvodů obvod RST během hodinového impulzu (při T=1) je vystaven rušení budou-li se na vstupech R a S měnit hodnoty, bude se měnit i výstup Q to je obvykle nežádoucí chování jedna cesta snížení rizika rušení je zkrácení hodinového impulzu to je technicky problematické a nepoužívá se spolehlivější cesta je upravit klopný obvod tak, aby reagoval na změnu úrovně tomu říkáme dynamické řízení 21
Dynamické vstupy klopných obvodů řízení KO: na náběžnou hranu (čelo) impulzu na sestupnou hranu (týl) impulzu T náběžná hrana sestupná hrana S C R T Q Q S C R T Q Q 22
Klopný obvod D vznikne úpravou KO RS, mezi vstupy R a S je zapojen invertor, tím se vyloučí možnost neurčitého stavu stav na vstupu D se při T=1 zapíše na výstup Q (Q=D), výstup setrvá na hodnotě i po skončení T KO D jsou v dvojím provedení: ovládané úrovní log.1 na T latch ovládané náběžnou hranou na T T D Q 0 0 nemění stav 0 1 nemění stav 1 0 0 1 1 1 23
Klopný obvod JK jiný způsob zamezení nežádoucího stavu KO RS při zachování dvou vstupů je předřazení hradel AND před vstupy R a S na obou výstupech se nikdy neobjeví log.1 současně, protože Q a Q' jsou navzájem opačné 24
Klopný obvod JK obvod reaguje na náběžnou hranu signálu C, hodnoty na datových vstupech musí předcházet před C J=K=0: výstup Q se nemění, pamatuje si předchozí stav J K: výstup Q kopíruje hodnotu ze vstupu J J=K=1: na každou náběžnou hranu C se výstup mění na opačnou hodnotu dělí kmitočet dvěma J K Q C 0 0 předchozí stav J 0 1 1 0 0 1 K 1 1 překlopení Q 25
Dvojčinný klopný obvod JK klopné obvody se konstruují jako master-slave, tím se odstraní náchylnost na rušení při náběžné hraně hodinového pulzu se načte vstupní hodnota do obvodu master, slave je blokován (C=0) při sestupné hraně hodinového pulzu předá master data na člen slave (díky invertoru je na jeho vstupu náběžná hrana) a změní se výstup master slave J C K 1 J C K Q Q 26
Asynchronní vstupy klopných obvodů vstupy klopných obvodů (R,S,D,J,K) jsou synchronně s hodinovými pulzy (C, někdy T) čteny a přenášeny na výstup klopné obvody mají další vstupy pro nastavení (Q=1) a pro vynulování (Q=0) na tyto vstupy reaguje klopný obvod ihned nezávisle na svém stavu, na stavu datových vstupů i na stavu hodinového pulzu mají naprostou přednost, říkáme jim asynchronní vstupy (nejsou synchronizovány s hodinovými pulzy) 27
Asynchronní vstupy klopných obvodů u klopných obvodů D a JK jsou to vstupy: S (set) nastaví Q=1 R (reset) nastaví Q=0 mohou být aktivní v logické 1 logické 0 pozor: oba vstupy nesmí být v aktivní úrovni současně, musíme to zařídit vhodným zapojením log.1 log.0 28
Klopný obvod D 7474 kompletní funkční tabulka klopného obvodu D typu 7474 obvod je řízen náběžnou hranou hod. signálu náběžná hrana X libovolná úroveň S' R' C D Q Q' režim 0 1 X X 1 0 asynchronní 1 0 X X 0 1 asynchronní 0 0 X X 1 1 asynchronní, neurčitý stav 1 1 1 1 0 synchronní 1 1 0 0 1 synchronní 1 1 0 X Q Q' beze změn D C S R T Q Q 29
Klopný obvod D vytvořený z JK klopný obvod je univerzálně použitý pro různé aplikace KO D vznikne zapojením invertoru mezi vstupy J a K invertor zamezí, aby vstupy J a K měly stejnou úroveň chová se jako standardní klopný obvod D, reaguje na sestupnou hranu hodinového pulzu značí sestupnou hranu hodinového pulzu D C 1 J C K TT Q D C Q 0 0 Q 1 1 X 0 předchozí stav 30
Klopný obvod T vytvořený z JK klopný obvod T pracuje jako dělič kmitočtu dvěma při T=1 se z výstupu Q odebírá poloviční kmitočet, než jaký se přivádí na vstup C T C J C K TT Q Q T C Q 0 předchozí stav 1 Q' - překlopí se X 0 předchozí stav 31
Registry
Registry registr je složen z paměťových buněk statické registry (paměťové), uchovávají data v jednotlivých buňkách posuvné registry posouvají data v registru doleva či doprava 33
Statické registry slouží pro vložení a uchování n-bitové informace lze je sestavit z klopných obvodů D i JK hodinovým pulzem C (u D náběžná, u JK sestupná hrana) se hodnoty ze vstupů a0 až a3 zapíší na výstupy Q0 až Q3 34
Posuvné registry slouží k posouvání (stěhování) informace doleva či doprava pomocí hodinového (posouvacího) signálu rozdělení: sériový vstup, sériový výstup sériový vstup, paralelní výstup paralelní vstup, sériový výstup paralelní vstup, paralelní výstup sériový informace vstupuje nebo vystupuje v jednom místě paralelní informace z jednotlivých bitů jsou přístupné všechny najednou 35
Posuvný registr D pro vynulování všech klopných obvodů slouží vstup Nulování registrem budeme posouvat jeden impulz přivedený na vstup Data posun se realizuje náběžnou hranou na vstupu Posuv 36
Časový diagram posuvného registru D jednotkový impulz ze vstupu Data cestuje zleva doprava celým registrem, až je úplně "vystrčen" ven po ukončení vstupního impulzu se na vstup Data přivádí log. 0 vstupní impulz musí začínat před náběžnou hranou signálu na vstupu Posuv a musí končit před příchodem následující náběžné hrany Posuv Data Q0 Q1 Q2 Q3 37
Časový diagram posuvného registru D na vstup Data přivedeme log.1 a ponecháme ji tam registr se postupně po 4 impulzech na vstupu Posuv zaplní logickými jedničkami Posuv Data Q0 Q1 Q2 Q3 38
Posuvný registr JK posuvný registr lze též sestavit z klopných obvodu JK vlastní posuv se realizuje při sestupné hraně signálu Posuv Posuv Data Q0 Q1 Q2 Q3 39
Kruhový registr JK vznikne propojením výstupu Q posledního členu na vstup J prvního členu, stejně i Q' se připojí na K předpokládáme výchozí stav KO0=1, KO1=0, KO2=0, KO3=0 40
Kruhový registr JK jeho pravdivostní tabulka: informace v kruhovém registru obíhá stále dokola časový diagram: Posuv Q0 Q1 Q2 Q3 posuv KO0 KO1 KO2 KO3 0 1 0 0 0 1 0 1 0 0 2 0 0 1 0 3 0 0 0 1 4 1 0 0 0 5 0 1 0 0 6 0 0 1 0 7 0 0 0 1 8 1 0 0 0 41
Johnsonův čítač je zvláštním případem kruhového registru zpětná vazba je zapojena "křížem" výstup Q posledního členu je přiveden na vstup K prvního členu, podobně Q' se přivede na vstup J 42
Johnsonův čítač pravdivostní tabulka: posun KO0 KO1 KO2 KO3 0 0 0 0 0 1 1 0 0 0 2 1 1 0 0 3 1 1 1 0 4 1 1 1 1 5 0 1 1 1 6 0 0 1 1 7 0 0 0 1 8 0 0 0 0 9 1 0 0 0 registr se postupně zleva plní log.1, po naplnění se zase zleva plní log.0 celý cyklus se po 8 krocích opakuje 43
Johnsonův čítač časový diagram: posun Q0 Q1 Q2 Q3 44
Čítače
Čítače čítače jsou sekvenční logické obvody vytvořené z klopných obvodů používají se k počítání počtu impulzů, které se přivádějí na jejich vstup tyto impulzy způsobí, že klopné obvody v čítači se mění takovým způsobem, že jejich stav v binárním kódu vyjadřuje počet vstupních impulzů 46
Rozdělení čítačů podle způsobu spouštění: synchronní asynchronní podle použitého kódu: binární (dvojkové) BCD (desítkové) podle směru čítání: vzestupné (čítají vpřed, nahoru) sestupné (čítají vzad, dolů) reverzibilní (čítají oběma směry) 47
Základ čítačů základem čítačů je klopný obvod zapojený jako dělič kmitočtu dvěma klopný obvod D: klopný obvod JK: 48
Počet stupňů čítače čítač vznikne kaskádním zapojením základních stupňů počet stupňů čítače definuje číslo, to kterého čítač čítá, pak se celý cyklus opakuje od nuly počet stavů je dán vztahem: 2 n kde n je počet stupňů Počet stupňů Počet stavů čítače 1 2 2 4 3 8 4 16 5 32 8 256 49
Počet stupňů čítače výstup A je nejnižší bit (s nejnižší váhou), výstup D je nejvyšší bit (s největší váhou) na výstupu A je 1/2 vstupního kmitočtu na výstupu B je 1/4 vstupního kmitočtu na výstupu C je 1/8 vstupního kmitočtu na výstupu D je 1/16 vstupního kmitočtu 50
Asynchronní čítače výstup jednoho stupně je spojen se vstupem následujícího stupně změna stavů jednotlivých stupňů probíhá postupně, stav klopného obvodu následujícího bitu se změní až po změnách stavů klopných obvodů předchozích bitů výhoda jednodušší zapojení celého čítače nevýhoda menší rychlost čítání, každý člen je spouštěn předchozím, trvá tedy delší dobu, než impulz "projde" všemi členy až na výstup nevýhoda vznik nežádoucích stavů při současné změně více výstupů 51
4 bitový asynchronní čítač nahoru použijeme JK klopné obvody čítání nahoru příchodem impulzu na vstup se stav čítače zvětší o 1 CT CT A B C D IN U1 CLR QA QB QC QD Hodiny D C B A 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 10 1 0 1 0 11 1 0 1 1 12 1 1 0 0 13 1 1 0 1 14 1 1 1 0 15 1 1 1 1 16 0 0 0 0 52
4 bitový asynchronní čítač nahoru největší číslo uchované ve 4 bitovém čítači je 1111 B, to je 15 dekadicky po dalším impulzu se stav změní na 0000 došlo k přetečení čítače časový diagram: vstup 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 A B C D 53
4 bitový asynchronní čítač nahoru chování sekvenčního obvodu lze také popsat stavovým diagramem stavový diagram se skládá zuzlů, které představují stav obvodu, a z šipek, ty představují směr přechodu z jednoho stavu do dalšího ze stavového diagramu lze vyčíst: zda vznikl uzavřený cyklus jaké je pořadí stavů jaká je délka cyklu 0 1 2 3 4 15 14 13 5 6 7 12 11 10 9 8 54
4 bitový asynchronní čítač dolů vznikne tak, že na čítací vstup následujícího stupně přivedeme signál Q' z předchozího stupně čítání dolů příchodem impulzu na vstup se stav čítače zmenší o 1 čítač čítá od hodnoty 1111 B dolů k hodnotě 0000 B po dalším impulzu se stav změní na 1111 došlo k podtečení čítače Hodiny D C B A 0 1 1 1 1 1 1 1 1 0 2 1 1 0 1 3 1 1 0 0 4 1 0 1 1 5 1 0 1 0 6 1 0 0 1 7 1 0 0 0 8 0 1 1 1 9 0 1 1 0 10 0 1 0 1 11 0 1 0 0 12 0 0 1 1 13 0 0 1 0 14 0 0 0 1 15 0 0 0 0 55
4 bitový asynchronní čítač dolů čítač dolů čítač nahoru 56
4 bitový asynchronní čítač dolů časový diagram: vstup 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 A B C D 57
4 bitový asynchronní čítač dolů stavový diagram: 0 1 2 3 4 15 5 14 6 13 7 12 11 10 9 8 58
Synchronní čítače čítané impulzy jsou přivedeny na hodinové vstupy všech klopných obvodů všechny klopné obvody mění svůj stav najednou, se zpožděním jediného členu, nezávisle na počtu stupňů "synchronizační princip": aktuální stupeň překlápí pouze v případě, jsou-li všechny předchozí stupně v log.1 výhody malé zpoždění, rychlejší, nevznikají na výstupu nežádoucí mezistavy nevýhoda složitější zapojení 59
Čtyřbitový synchronní čítač hradlo H1 dovolí překlopit členu C jen, platí-li A=B=1 člen D může klopit při A=B=C=1 časový diagram, stavový diagram i pravdivostní tabulka jsou shodné jako u asynchronního čítače 60
Zkrácení cyklu čítače v některých případech potřebujeme, aby čítač čítal kratší cyklus, než odpovídá počtu stupňů (2 n ) typickou metodou je dekódování stavu, který už nechceme a aktivování vstupů pro nastavení nebo nulování (R, S) příklad: Hrací kostka navrhneme tříbitový čítač, který bude simulovat stavy jako u hrací kostky, tj. čísla 1 až 6 řešení: chceme, aby po stavu 6 nastal stav 1, nechceme tedy stav 7 (111 B ) 61
Zkrácení cyklu čítače jakmile má nastat stav 7, tento stav dekódujeme hradlem AND a člen A nastavíme (vstup S), členy B a C vynulujeme (vstup R) po zapnutí čítač poběží od stavu 0 62
Zkrácení cyklu čítače stavový diagram kostky: 0 1 2 3 6 časový diagram: 5 4 Cl A B C AND 1 2 3 4 5 6 1 63
Desítkové (BCD) čítače mají 10 stavů čítají od 0 do 9 a pak se cyklus opakuje stavový diagram: Hodiny D C B A 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 0 0 0 0 0 0 1 2 3 4 9 8 7 6 5 64
Desítkové (BCD) čítače časový diagram 0 1 2 3 4 5 6 7 8 9 0 1 vstup A B C D detekujeme stav 10 binárně 1010 (pořadí DCBA, A=0, B=1, C=0, D=1) a nastane-li, nulujeme všechny klopné obvody asynchronním vstupem R 65
Desítkové (BCD) čítače u obvodů A a C využijeme negované výstupy, pak nám stačí jedno čtyřvstupé hradlo AND 66
Literatura 67
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. 68