BISTABILNÍ KLOPNÉ OBVODY, ČÍTAČE Úvod Účelem úlohy je seznámení s funkcemi a zapojeními několika sekvenčních logických obvodů, s tzv. bistabilními klopnými obvody a čítači. U logických obvodů se často setkáváme s pojmy kombinační a sekvenční logický obvod. Kombinační logický obvod je takový obvod, jehož výstupní signály jsou závislé pouze na okamžitém stavu vstupních signálů (např. hradlo realizující funkci Y=AB, tzn. logický součin nebo převodník z binárního kódu na dekadický apod.). Na rozdíl od kombinačního logického obvodu závisejí výstupní signály sekvenčního logického obvodu nejen na hodnotách vstupních signálů, ale také na hodnotách jeho vnitřních proměnných. Typickým příkladem je čítač: odpovídá-li stav čítače např. číslu 3, pak po změně signálu na vstupu se stav změní na odpovídající číslo 4. Pokud by však původní stav čítače odpovídal číslu 6, pak po změně signálu na vstupu bude další stav čítače odpovídat číslu 7. Přitom průběh vstupního signálu může být v obou případech shodný.
Bistabilní klopné obvody Mezi základní bistabilní klopné obvody (BKO) patří obvody typu R-S, R-S-T, D a JK. V dalším textu je symbol negovaného vstupu pouze označení, které značí, že příslušný vstup je aktivní v log. 0.
Klopný obvod typu R-S Klopný obvod typu R-S je nejjednodušší sekvenční logický obvod. Může být sestaven např. ze dvou hradel NAND - viz obr. 4.1. Název R-S je odvozen z anglických výrazů set (nastav) a reset (nuluj).
Obr. 4.1 Schéma obvodu R-S sestaveného z hradel NAND
S
R
Q
Q
0 0 1 1
0 1 0 1
1 1 0 Q-1
1 0 1
Q -1
Tabulka 0.1 Pravdivostní tabulka obvodu R-S sestaveného z hradel NAND Samotná pravdivostní tabulka s pouze konstantními hodnotami vstupních proměnných však nemůže jednoznačně popsat chování sekvenčního obvodu. Pro kombinace vstupních signálů, kdy alespoň jeden z nich je na úrovni log. 0 (tzn. kombinace 00, 01 a 10), jsou výstupní
úrovně definovány jednoznačně (viz pravdivostní tabulka 4.1, při kombinaci vstupních signálů 00 je na výstupech kombinace 11) a obvod se chová jako běžný kombinační obvod. V okamžiku, kdy se na obou vstupech objeví log. 1, přejde obvod do tzv. paměťového režimu a na jeho výstupech zůstane taková kombinace logických úrovní, která byla na výstupech před poslední změnou některého ze vstupních signálů. K zápisu těchto hodnot se používají proměnné Q-1 nebo Q -1 , které znamenají hodnotu signálu Q nebo Q v časovém úseku před poslední změnou některého ze vstupních signálů. Pro správnou funkci tohoto obvodu je však nutno splnit podmínku, že ke změnám z log. 0 na log. 1 nesmí dojít u obou vstupů současně, neboť v takovém případě nelze jednoznačně určit úrovně, do kterých se oba výstupy uvedou. Obdobně jako z hradel NAND lze vytvořit klopný obvod R-S i z hradel NOR. Chování obvodu je obdobné a jeho paměťový stav nastává při vstupech na úrovni log. 0.
Obr. 4.2 Schéma obvodu R-S sestaveného z hradel NOR S
R
Q
Q
0
0
Q-1
Q -1
0 1 1
1 0 1
0 1 0
1 0 0
Tabulka 0.2 Pravdivostní tabulka obvodu R-S sestaveného z hradel NOR
Klopný obvod typu R-S-T
Obr. 4.3 Schéma obvodu R-S-T sestaveného z hradel NAND Klopný obvod typu R-S-T je rozšířením běžného obvodu R-S, kterému je předřazena dvojice hradel NAND ovládaná signálem do vstupu T (trigger). Pokud je na vstupu T úroveň log. 1, chová se obvod stejně jako normální obvod R-S (pouze jsou invertovány logické úrovně vstupních signálů). Po přechodu signálu T do úrovně log. 0 se klopný obvod R-S odpojí od vstupů (oba jeho vstupní signály budou na úrovni log. 1) a uvede se do paměťového režimu.
S
R
T
Q
Q
0
0
1
Q-1
Q -1
0 1 1 x
1 0 1 x
1 1 1 0
0 1 1 Q-1
1 0 1
Q -1
Tabulka 0.3 Pravdivostní tabulka obvodu R-S-T sestaveného z hradel NAND Pozn.: Znak „ x „ v tabulce udává, že logická hodnota příslušného signálu nemá vliv na stav obvodu. Při kombinaci vstupních signálů 111 nesmí dojít ke změně z log. 1 na log. 0 u vstupu T.
Klopný obvod typu D Klopné obvody typu D slouží především k uchování binární informace. Vždy jsou vybaveny minimálně dvěma vstupy - jedním pro vstup dat a druhým pro ovládání přenosu dat do obvodu. Datový signál se přivádí na vstup D a signálem přiváděným do hodinového vstupu C (někdy také CL či CLK) se určuje doba nebo okamžik, kdy klopný obvod přebírá informaci ze vstupu D.
Obr. 4.4 Principielní schéma obvodu D řízeného úrovní Podle konstrukce rozlišujeme klopné obvody D na obvody, u kterých přenos dat do obvodu probíhá trvale pokud je na hodinovém vstupu C úroveň log. 1 a na obvody, u kterých dochází k přenosu pouze v okamžiku vzestupné hrany hodinového signálu, tzn. v okamžiku změny úrovně z log. 0 na log. 1. První se nazývají klopné obvody D řízené úrovní a druhé klopné obvody D řízené hranou. Do první skupina patří např. obvod 7475 (dvě dvojice obvodů se společnými vstupy pro hodinový signál vyrobené technologií TTL), do druhé skupiny obvody 7474 resp. 4013 (dvojice nezávislých klopných obvodů D se vstupy pro asynchronní nastavování a nulování v technologii TTL resp. CMOS). D
C
Q
Q
0 1 x
1 1 0
0 1 Q-1
1 0
Q -1
Tabulka 0.4 Pravdivostní tabulka klopného obvodu D řízeného úrovní
Pozn.: Pod pojmem „ hodinový signál „ je míněn jakýkoliv logický signál sloužící k synchronizaci dějů probíhajících v sekvenčních logických obvodech. S
R
CL
D
Q
Q
0 1 0 1 1 1
1 0 0 1 1 1
x x x / / 0
x x x 1 0 x
1 0 1 1 0 Q-1
0 1 1 0 1
Q -1
Tabulka 0.5 Pravdivostní tabulka klopného obvodu D řízeného hranou Pozn.: Znak „ / „ označuje vzestupnou hranu hodinového signálu.
Obr. 4.5 Vnitřní schéma obvodu D řízeného hranou (polovina obvodu 7474) Tento obvod je navíc vybaven ještě dvojicí asynchronních vstupů S (pro nastavení výstupu Q do stavu log. 1) a R (pro jeho nulování). Označení „ asynchronní vstup „ znamená, že signál nastavení nebo nulování vyvolá okamžitou změnu stavu obvodu bez ohledu na signál na hodinovém vstupu. Aktivní úrovní těchto dvou signálů je log. 0 a nikoliv log. 1, což je u asynchronních signálů především u obvodů technologie TTL velmi časté. Podmínky správné funkce jsou pro vstupy R a S shodné s podmínkami u klopného obvodu typu R-S. Typickou aplikací těchto obvodů jsou střadače (paměťové obvody) nebo čítače a děliče (u obvodů řízených hranou). Nejjednodušší zapojení děliče dvěma (tedy děliče počtu vstupních impulsů ev. děliče frekvence) vznikne zavedením negovaného výstupního signálu (výstup Q ) zpět na datový vstup D téhož obvodu. Logická úroveň signálu na výstupu se bude měnit vždy v okamžiku náběžné (vzestupné) hrany signálu na vstupu C (někdy se takovýto obvod nazývá klopný obvod typu T).
Klopný obvod typu J-K Klopný obvod typu J-K (viz obr. 4.6) je tvořen dvěma klopnými obvody typu R-S, tvořenými dvojicí hradel NOR (H5 a H6) a dvojicí hradel NAND (H7 a H8). Obvod je vybaven dvěma datovými vstupy J a K, hodinovým vstupem CL a dále může mít jeden asynchronní vstup R pro nulování, popř. druhý vstup S pro nastavení. Na rozdíl od klopného obvodu D postupuje
datový signál obvodem ve dvou časových okamžicích, které jsou určeny vzestupnou a sestupnou hranou hodinového signálu CL.
Obr. 4.6 Principielní schéma klopného obvodu typu J-K Na začátku celého cyklu je hodinový signál CL na úrovni log. 0. Výstupy součinových hradel H1 a H2 jsou vzhledem k úrovni signálu CL také na úrovni log. 0, takže interní klopný obvod R-S se nachází v paměťovém stavu. Předpokládejme, že vstupní signály J a K mají logické úrovně 1 a 0 a že na výstupech hradel H5 a H6 interního klopného obvodu R-S (master) je dosud kombinace logických úrovní log. 1 na H5, resp. log. 0 na H6. Dále pro účely odvození funkce obvodu dočasně přerušme přenos signálů z výstupů Q a Q na vstupy součinových hradel H1 a H2 a signály R a S předpokládejme na úrovni log. 1. Proto je tranzistor T1 otevřen a T2 uzavřen, takže na vstupech hradel H7 a H8 druhého klopného obvodu R-S (slave) jsou úrovně log. 0 (H7) a log. 1 (H8). Při nárůstu napětí na vstupu CL se nejprve uzavírá dosud otevřený tranzistor T1 (napětí na bázích obou tranzistorů jsou pouze odvozena od napětí, která odpovídají logickým obvodům TTL, ale jejich absolutní hodnoty jsou výrazně nižší). Proto přecházejí oba dva vstupní signály výstupního klopného obvodu (slave) na úroveň log. 1, takže tento klopný obvod přechází do paměťového stavu. Po průchodu signálu CL rozhodovací úrovní se na výstupech hradel H1 a H2 objevují úrovně odpovídající úrovním signálů J a K a současně se také do odpovídajícího stavu nastavuje vnitřní klopný obvod (výstup hradla H5 do log. 0 a výstup hradla H6 do log. 1).Při opačné změně úrovně signálů CL, tzn. při jeho sestupné hraně, se nejprve oba výstupy hradel H1 a H2 vrátí na log. 0, čímž se vnitřní klopný obvod zase uvede do paměťového stavu, a nakonec se otevře ten z tranzistorů, na jehož bázi je napětí odvozené od úrovně log. 1 (v našem případě T2). Proto se také na vstup hradla H8 dostává úroveň log. 0, kterou je pak definována kombinace výstupních hodnot Q=1 a Q =0. Pro vstupní signály J=0 a K=1 bychom obdrželi výstupní hodnoty Q=0 a Q =1 (zapojení je symetrické). Pokud by platilo J=K=0, nemohlo by nikde v obvodu dojít ke změně logické úrovně, takže na výstupech by zůstal předchozí stav. Nyní zaveďme přenos z výstupů Q a Q na vstupy hradel H1 a H2 a položme J=K=1. Po přechodu signálu CL do log. 1 se na výstupu H1 objeví negovaná úroveň z výstupu Q a na výstupu H2 negovaná úroveň z výstupu Q. Při sestupné hraně signálu CL se tyto úrovně přes tranzistory T1 a T2 přenesou do výstupního klopného obvodu, takže se úrovně obou dvou signálů invertují.
Signály S a R slouží k asynchronnímu nastavení (Q na log. 1 a Q na log. 0) nebo nulování (Q na log. 0 a Q na log. 1) obvodu. Aktivní úrovní těchto dvou signálů je opět log. 0. Pro správnou činnost obvodu musí být splněna podmínka, že tyto signály nenabudou úroveň log. 0 současně, protože by potom oba výstupy Q a Q přešly do úrovně log. 1. S
R
CL
J
K
Q
Q
0 1 0 1
1 0 0 1
x x x \
x x x 0
x x x 0
1 0 1 Q-1
0 1 1
1 1 1
1 1 1
\ \ \
0 1 1
1 0 1
0 1
Q -1
Q -1 1 0 Q-1
Tabulka 0.6 Pravdivostní tabulka klopného obvodu typu J-K Pozn.: Znak „ \ „ označuje sestupnou hranu hodinového signálu
Čítače Čítače jsou sekvenční logické obvody, které slouží k čítání pulsů, jejichž počet je potom vyjádřen v určitém kódu. Podle způsobu, jakým je k jednotlivým vnitřním klopným obvodům čítačů přiveden hodinový signál, je můžeme rozdělit na čítače synchronní a asynchronní. U synchronních čítačů je hodinový signál přiveden na vstupy CL všech klopných obvodů a jejich stav se proto mění současně se změnou signálu na vstupu do integrovaného obvodu. U asynchronních čítačů je hodinový signál zaveden na vstup pouze prvního nebo jen některých klopných obvodů a ostatní klopné obvody mají své hodinové vstupy připojeny k výstupům předcházejících klopných obvodů. Tyto klopné obvody potom mění svůj stav v závislosti na změnách stavů předcházejících klopných obvodů. Při tomto uspořádání mohou být odezvy jednotlivých klopných obvodů různě zpožděny, což může při některých aplikacích působit nezanedbatelná omezení. Kromě dělení na synchronní a asynchronní lze čítače také dělit podle směru čítání (čítače vpřed, čítače vzad a čítače vratné, u kterých je možno směr čítání měnit) nebo podle kódu ve kterém pracují (binární, dekadický, Johnsonův apod.).
Asynchronní čítače 7490 a 7493 Typickým představiteli asynchronních čítačů v řadě TTL jsou typy 7490 a 7493, což jsou dopředné čítače s modulem čítání 10 a 16. Oba typy se skládají z jednostupňového binárního děliče a třístupňového bloku, který zajišťuje čítání v příslušném modulu (5 nebo 8). Protože jednostupňový dělič a třístupňový blok nejsou uvnitř integrovaného obvodu vzájemně propojeny, je možné jejich pořadí volit vnějším propojením v závislosti na požadované funkci. Oba dva typy jsou vybaveny dvojicí nulovacích vstupů pro uvedení všech interních klopných obvodů do nulového stavu a typ 7490 (dekadický čítač) ještě dvojicí vstupů pro nastavení stavu odpovídajícího hodnotě 9 (pokud je čítač zapojen pro čítání v kódu BCD). Protože jsou jednotlivé stupně čítačů vytvořeny z klopných obvodů typu J-K, dochází ke změnám stavů čítačů vždy při sestupné hraně hodinového signálu.
Obvod 7493 - asynchronní binární čítač vpřed Integrovaný obvod obsahuje jeden samostatný klopný obvod J-K fungující jako binární dělič (JK1) a dále trojici vzájemně propojených klopných obvodů fungujících jako třístupňový dělič v binárním kódu (JK2 až JK4). Vstupy R01 a R02 jsou vstupy součinového hradla a slouží k nulování čítače, ke kterému dochází za stavu R01=R02=log. 1. Pokud je kterýkoliv ze vstupů R na úrovni log. 0, je čítač uvolněn pro čítání. Vnitřní zapojení obvodu 7493 je na obr. 4.7.
Obr. 4.7 Vnitřní zapojení čítače 7493
Obvod 7490 - asynchronní dekadický čítač vpřed Zapojení dekadického čítače 7490 je podobné jako u čítače 7493. Čítač 7490 obsahuje jeden samostatný klopný obvod J-K fungující jako binární dělič a dále trojici vzájemně propojených klopných obvodů J-K fungujících jako třístupňový dělič modulo 5 v binárním kódu (JK2 až JK4). Obvod 7490 umožňuje podle způsobu propojení obou částí čítání ve dvou kódech v BCD, kdy je hodinový signál přiváděn nejprve na vstup A klopného obvodu JK1 (obr. 4.8), a v kódu 5421, kdy se signál přivádí nejprve na vstup B trojice klopných obvodů JK2 až JK4 a teprve potom na JK1. V tomto zapojení funguje obvod jako dělič modulo 10 se symetrickým výstupním signálem (se střídou rovnou jedné). Vstupy R01 a R02 slouží k nulování čítače, přičemž musí být splněna podmínka R01=R02=log. 1 a alespoň jeden ze vstupů R91 a R92 musí být na úrovni log. 0. Vstupy R91 a R92 slouží
Obr. 4.8 Vnitřní zapojení čítače 7490 k nastavení čítače na hodnotu 9 (je-li zapojen jako čítač v kódu BCD) nebo na hodnotu 0011B v kódu 5421, přičemž musí být R91=R92=log. 1. Na úrovni signálů na nulovacích vstupech
v tomto případě nezáleží. Pokud je alespoň jeden ze signálů z každé dvojice vstupů R na úrovni log. 0, je čítač uvolněn pro čítání. Časové průběhy signálů ve dvou možných zapojeních obvodu 7490 jsou na obr. 4.9 (nahoře dělič modulo 10 v kódu BCD, dole dělič modulo 10 se symetrickým výstupním průběhem). Všechny průběhy jsou odvozeny od průběhu hodinového signálu, který se v prvním případě přivádí na vstup A a vstup B je připojen na výstup QA. Bit s nejvyšší vahou je potom na výstupu QD. V druhém případě se hodinový signál přivádí na vstup B a vstup A je připojen na výstup QD. Bit s nejvyšší vahou je potom na výstupu QA.
Obr. 4.9 Průběhy signálů ve dvou možných zapojeních čítače 7490 Pokud chceme změnit dělicí poměr čítače, je nutno dekódovat první stav, který překračuje požadovaný dělicí poměr a v okamžiku dosažení tohoto stavu zajistit uvedení čítače do výchozího stavu, přičemž dvouvstupová součinová hradla (vstupy R) umožňují přímo dekódovat stavy, které jsou reprezentovány jednou nebo dvěma logickými jedničkami. V případě složitějšího výrazu (např. číslo vyjádřené třemi logickými jedničkami) je k dekódování nutno použít ještě pomocný kombinační obvod. Používáme-li čítač jen ve funkci děliče a není přitom podstatné v jakém kódu čítač pracuje (platí pro obvod 7490), lze v kódu 5421 vytvořit i dělič modulo 7 bez použití dalšího pomocného kombinačního obvodu.
Synchronní čítače 74192 a 74193 V synchronním čítači jsou všechny klopné obvody spouštěny současně hodinovým impulsem nebo signálem, který má být čítán. Protože všechny klopné obvody mění stav zároveň, je celkové zpoždění dáno zpožděním jednoho obvodu, s počtem obvodů neroste.
Obvod 74193 - synchronní binární vratný čítač Integrovaný čítač 74193 obsahuje čtveřici klopných obvodů J-K a ovládací kombinační logiku. Obvod je vybaven čítacími vstupy (CU - count up, čítej vpřed, a CD - count down, čítej vzad), čtyřmi vstupy A, B, C a D pro vstup dat při nastavování vnitřních klopných obvodů, vstup L (load) pro přednastavování a R (reset) pro nulování vnitřních klopných obvodů, čtveřicí datových výstupů QA, QB, QC a QD a dvojicí výstupů CA (carry) a BO (borrow) pro přenos hodinových pulsů do dalších obvodů (vyšších resp. nižších řádů) při sériovém řazení více čítačů. Změny hodnot na výstupech QA až QD nastávají v okamžiku vzestupných hran na jednom ze vstupů CU nebo CD, zatímco druhý vstup musí být trvale na úrovni log. 1.
Obr. 4.10 Vnitřní zapojení čítače 74193 Hradla H1 až H4 slouží k výkonovému oddělení a invertování vstupních signálů. Hradla H5 až H14 tvoří kombinační obvody na vstupech jednotlivých klopných obvodů a slouží k hradlování hodinových pulsů ze vstupů CU a CD v závislosti na okamžitém stavu čítače a požadovaném směru čítání. Vstupy J a K klopných obvodů J-K jsou trvale na úrovni log. 1 (ve schématu na obr. 4.10 nejsou tyto vstupy vůbec zakresleny). Další stavy klopných obvodů J-K tedy nejsou určovány kombinacemi hodnot J a K na jejich vstupech, ale tím, jestli se na jejich hodinové vstupy dostanou nebo nedostanou hodinové pulsy odvozené ze signálů CU a CD. Hradla H15 až H22 zajišťují nulování nebo nastavování čítače na požadovanou hodnotu a konečně hradla H23 a H24 dekódují signály pro přenos do dalších čítačů. Nulování
klopných obvodů JK1 až JK4 nastává v okamžiku, kdy je alespoň na jeden z jejich nulovacích vstupů R1 nebo R2 přiveden signál o úrovni log. 0. Nulovací signály R1 jsou odvozeny od vnějšího nulovacího signálu R, zatímco nulovací signály R2 mohou být aktivní při paralelním přednastavování úrovně log. 0 ze vstupů A, B, C nebo D. Obdobně nastavovací signály z jednotlivých obvodů J-K mohou být aktivní při přednastavování úrovně log. 1 ze vstupů A, B, C nebo D.
Obr. 4.11 Příklad průběhu stavů čítače 74192
Obvod 74192 - synchronní dekadický vratný čítač Obvod 74192 má podobnou funkci a vnitřní zapojení jako 74193 a liší se pouze modulem čítání sníženým ze 16 na 10. Celkový počet možných stavů však zůstal zachován, neboť stavy odpovídající číslům 10 až 15 je možno nastavit prostřednictvím přímého přednastavení.
Na obr. 4.11 je naznačen příklad funkce obvodu. Po připojení napájecího napětí se vnitřní klopné obvody nastaví do náhodných stavů (na obr. 4.11 jsou reprezentovány vodorovnými přerušovanými čárami). Na vstupy pro paralelní přednastavení čítače jsou přivedeny signály odpovídající číslu 7 (A=B=C=log. 1, D=log. 0) a všechny vstupní signály jsou na klidové úrovni. Po přechodu nulovacího signálu R do aktivní úrovně (log. 1) se výstupy QA až QD vynulují. Po aktivaci signálu L (log. 0) pro paralelní přednastavení čítače se vnitřní obvody a jejich výstupy uvedou do stejného stavu jako příslušné vstupy A až D (takže se na výstupech objeví kombinace odpovídající číslu 7). Po ukončení předvolby je na vstup CU pro čítání vpřed přivedeno celkem 5 pulsů, takže čítač postupně projde stavy 8, 9, 0, 1 a 2. Po dobu trvání stavu 9 sleduje výstup CA průběh signálu CU a umožňuje tak při přechodu ze stavu 9 do stavu 0 inkrementovat stav dalšího čítače, jehož vstup CU může být připojen k tomuto výstupu CA. Ve stavu 2 je čítání vpřed ukončeno a na vstup CD pro čítání vzad je přivedeno také 5 pulsů, takže se čítač postupně přes stavy 1, 0, 9 a 8 vrátí do stavu 7. Při čítání směrem vzad sleduje ve stavu 0
Obr. 4.12 Vnitřní zapojení čítače 74192 výstup BO průběh signálu CD a umožňuje tak při přechodu ze stavu 0 do stavu 9 dekrementovat stav dalšího čítače, jehož vstup CD může být připojen k tomuto výstupu BO. Po celou dobu čítání musí být signál R na úrovni log. 0 a signál L na log. 1.
Vnitřní zapojení obvodu 74192 se od zapojení obvodu 74193 liší pouze doplněním hradel H25 a H26 a dalších vstupních signálů některých hradel, která slouží k blokování hodinových signálů tak, aby byly zajištěny požadované změny stavů klopných obvodů při přechodech ze stavu 9 do stavu 0 a zpět. Vnitřní zapojení obvodu 74192 je na obr. 4.12. Chování obou obvodů (74192 i 74193) v závislosti na okamžitém stavu a hodinovém signálu (pro čítání vpřed nebo vzad) je znázorněno v grafech na obr. 4.13. Plná čára představuje změny při čítání vpřed a přerušovaná při čítání vzad.
Obr. 4.13 Přechodové diagramy čítačů 74193 a 74192 U tohoto typu čítačů (s možností paralelního přednastavení) lze změnit modul dělení také tím způsobem, že místo nulování čítače se v okamžiku dosažení dělicího poměru uskuteční jeho přednastavení na tuto hodnotu a čítač obnoví dekrementaci stavu směrem k nule. Vlastní přednastavení se potom odvozuje od signálu BO. Tento princip lze samozřejmě použít i při čítání vpřed s použitím inverzní hodnoty čísla a přenosu z výstupu CA.
Řešené příklady Zadání 1. : Navrhněte čtyřbitový posuvný registr z klopných obvodů JK. Řešení : Posuvné registry jsou zařízení sestavená z N kaskádně řazených klopných obvodů, které umožňují informaci uloženou v těchto klopných obvodech posouvat v závislosti na hodinových pulsech vždy z daného klopného obvodu do nejbližšího následujícího (resp. do nejbližšího předcházejícího) klopného obvodu. Posun se uskutečňuje příchodem posouvacího hodinového pulsu. Princip funkce posuvného registru přiblíží obr. 4.14.. 0
1 0
1 1 0
0 1 1 0
A 1 0 1 1 0
B 0 1 0 1 1
C 1 0 1 0 1
D 1 1 0 1 0
1 1 0 1
1 1 0
1 1
1
ZÁKLADNÍ STAV 1. HODINOVÝ IMPULS 2. HODINOVÝ IMPULS 3. HODINOVÝ IMPULS 4. HODINOVÝ IMPULS
Obr. 4.14 Funkce posuvného registru Posuvný registr je zde tvořen čtyřmi paměťovými prvky, v základním stavu je uchováno číslo (například 1101). Jiné binární číslo, 0110, je generováno vně a je posuvnému registru
k dispozici sériově. Postupným přiváděním posuvných impulsů se bude původně uchované číslo posouvat ven a ztratí se, zatímco se do registru přesune vnější číslo. Typické zapojení posuvného registru s obvody JK je na obr. 4.15.
Obr. 4.15 Čtyřbitový posuvný registr z klopných obvodů JK Sériová vstupní data se přivádějí na vstupy JK klopného obvodu JK1. Odtud (z výstupu) přecházejí na další klopné obvody. Data přiváděná na vstup se prostřednictvím klopných obvodů přesunují napravo. Každý hodinový neboli posuvný impuls způsobí, že data na vstupu a data uchovaná v klopných obvodech budou přesunuta o jednu bitovou pozici napravo.
Neřešené příklady Zadání I : Nakreslete časový diagram čtyřbitového posuvného registru, jestliže se na vstupu objevuje binární číslo 0101 v synchronizaci se vstupním hodinovým impulsem. Předpokládejme, že registr je na počátku vynulován a tudíž i výstupy A, B, C a D jsou na počátku ve stavu log. 0. Zadání II : Osmibitový posuvný registr obsahuje číslo 10000110. Na vstup je aplikováno sériové číslo 11011011. Jaké číslo bude v registru po 5 posuvných impulsech za předpokladu posunu doprava.
Popis měřicího přípravku Měřicí přípravek obsahuje sadu TTL obvodů určených pro ověřování funkce základních bistabilních klopných obvodů a čítačů : 7400, 7404, 7472 (3x), 7474, 7490 (2x) a 74193. Rozmístění pinů a jednoduchý popis těchto obvodů je v příloze na konci této kapitoly. Pomocný měřicí přípravek obsahuje, v závislosti na číslu klíčovaného konektoru zasunutého do zdířky na boku přípravku, některý z BKO: - R-S z hradel NAND (1/2 7400) - R-S z hradel NOR (1/2 7402) - D ovládaný úrovní (1/4 7475) - D ovládaný hranou (1/2 7474) - J-K (7472 s pouze jedním vstupem J a jedním vstupem K) Poznámka k pomocnému přípravku: - výstupy obvodů Q a Q jsou určeny jednoznačně, zatímco vstupy jsou rozmístěny zcela náhodně. - svítící LED u vstupních a výstupních zdířek indikují úroveň log. 1. - jako zdroj vstupních signálů je vhodné použít generátor logických signálů z měřicího přípravku.
- pozor - podle počtu vstupů právě aktivního klopného obvodu (především obvody R-S) mohou zůstat některé vstupní zdířky volné.
Domácí příprava V rámci domácí přípravy vypracujte jednu ze dvou následujících variant:
1. var. a) Intuitivně navrhněte a nakreslete schéma zapojení následujících obvodů: a) děliče modulo 6 s čítačem 7490. b) děliče modulo 7 s čítačem 7490 v zapojení bez externího dekodéru: 1) s čítáním v BCD kódu s nastavováním počátečního čísla 9. 2) s čítáním v kódu 5421. c) děliče modulo 7 s čítačem 74193 v zapojení bez externího dekodéru. b) Intuitivně navrhněte a nakreslete schéma zapojení obvodu pro vytvoření logického signálu, jehož kmitočet se bude periodicky skokově měnit (dvě diskrétní hodnoty kmitočtu, např. pro imitaci sirény). Pro návrh použijte pouze obvody ze sady v měřicím přípravku. Na vstupu předpokládejte obdélníkový signál úrovně TTL, jehož kmitočet můžete volit libovolný. Nápověda: obvod s požadovanou funkcí můžete vytvořit buď jako dvojici děličů s různým dělicím modulem jejichž výstupy se budou střídavě přepínat (např. po odpočítání určitého počtu period vstupního nebo výstupního signálu) nebo pomocí jednoho děliče s možností paralelního přednastavení modulu dělení, jehož hodnota se bude periodicky měnit. 2. var. a) Intuitivně navrhněte a nakreslete schéma zapojení následujících obvodů: a) děliče modulo 7 s čítačem 7490 v zapojení bez externího dekodéru: 1) s čítáním v BCD kódu s nastavováním počátečního čísla 9. 2) s čítáním v kódu 5421. b) děliče modulo 26 s čítačem 7490 a 74193. b) Analyzujte činnost obvodu na obr. 4.16 a nakreslete časový diagram tohoto obvodu. Předpokládejte, že na vstup obvodu přivádíme obdélníkový signál úrovně TTL, jehož kmitočet může být libovolný. Dále předpokládejte, že na počátku jsou výstupy QA až QD vynulovány.
Obr. 4.16 Schéma obvodu, jehož funkci máte určit c) Intuitivně navrhněte a nakreslete schéma zapojení tříbitového vratného binárního čítače. K dispozici máte tři J-K klopné obvody a dva integrované obvody 7400 (čtveřice dvouvstupových hradel NAND). Dalším vstupem ovládejte směr čítání (např. log. 1 = čítání nahoru, log. 0 = čítání dolů). Předpokládejte, že na vstup obvodu budete přivádět obdélníkový signál úrovně TTL, jehož kmitočet může být libovolný.
Úkoly měření 1. Identifikujte, který BKO je v pomocném přípravku aktivován kterým klíčem (podle výběru asistenta - minimálně tři různé klíče), tj. přiřaďte typ BKO příslušnému číslu klíče a určete, na které vstupní svorky přípravku jsou připojeny vstupní signály jednotlivých BKO, výsledky zapište do sešitu. 2. Zapojte obvod 7490 ve funkci děliče modulo 7 (v zapojení pro čítání v binárním kódu s externím dekódovacím obvodem, viz schéma zapojení na obr. 4.17) a ověřte vznik hazardních stavů. Zpoždění signálu procházejícího dekódovacím obvodem měňte sériovým zařazováním dvojic negátorů z obvodu 7404. Jak se projeví hazardní stavy?
Obr. 4.17 Zapojení obvodu 7490 jako děliče modulo 7 s hazardními stavy bez hazardních stavů Poznámka: při použití externího dekódovacího obvodu je nutno zajistit, aby vlivem zpoždění signálu při průchodu vnějšími obvody nemohlo dojít k situaci, ve které se na vstupu (nebo vstupech) pro nulování krátkodobě objeví signál aktivní úrovně ještě před splněním podmínek pro nulování čítače. Praktickým příkladem může být právě čítač 7490 (nebo 7493) v zapojení jako dělič modulo 7. Dělič modulo 7 má 7 stabilních stavů reprezentujících hodnoty 0 až 6. Přechod na hodnotu 7 (tedy celkem již osmého stavu) musí vyvolat nulování obvodu. Protože stav 7 je vyjádřen binárním číslem 0111B a použité děliče mají pouze dva nulovací vstupy, je nutno vytvořit vnější obvod, který zajistí, že na oba nulovací vstupy budou po dosažení hodnoty 7 přivedeny úrovně log. 1. Dvě zapojení splňující podmínku dekódování stavu 7, lišící se pouze přiřazením signálů do kombinačního obvodu, jsou nakreslena na obr. 4.17. V prvním případě však může dojít k hazardnímu stavu při přechodu z hodnoty 3 na hodnotu 4. Vlivem zpoždění signálu při průchodu hradly vnějšího obvodu se na vstup R0(2) může dostat úroveň log. 1 z výstupu QC dříve, než úroveň R0(1) klesne z log. 1 (při 0011B) na log. 0 (při 0100B). Toto zapojení se tedy při výskytu hazardních stavů bude chovat jako dělič modulo 4 a nikoliv jako dělič modulo 7. V druhém zapojení jsou hazardní stavy potlačeny, neboť ke změně signálu na vstupu R0(2) dochází až po přechodu R0(1) z log. 1 do log. 0.
3. Ověřte správnost Vašeho řešení bodu 1B nebo 2C domácí přípravy.
Rozmístění vývodů a jednoduchý popis obvodů použitých v přípravku
Obr. 4.18 Rozmístění vývodů obvodů použitých v přípravku 7400 - čtveřice dvouvstupových hradel NAND, tj. realizuje funkci negovaného logického součinu dvou proměnných A a B: Y = A.B . Na výstupu bude úroveň log. 0 pouze tehdy, budou-li oba vstupy na úrovni log. 1. 7402 - čtveřice dvouvstupových hradel NOR, tj. realizuje funkci negovaného logického součtu dvou proměnných A a B: Y = A + B . Na výstupu bude úroveň log. 1 pouze tehdy, budou-li oba vstupy na úrovni log. 0.
7404 - šestice invertorů,tj. realizuje funkci negace: Y = A . 7472 - klopný obvod J-K. Úroveň log. 1 uloží data ze vstupů J, K (J=J1*J2*J3, K=K1*K2*K3) do pomocného „master“ klopného obvodu a sestupná hrana hodinového signálu jeho stav přepíše do klopného obvodu „slave“ a tím na výstupy Q a Q . Po dobu trvání hodinového signálu, kdy CL je na úrovni log. 1, se nesmí měnit úroveň vstupů J, K. Asynchronně je možné výstup nastavit nebo nulovat úrovní log. 0 na vstupu S resp. R . 7474 - dvojitý bistabilní klopný obvod D. Informace ze vstupů D se uloží do klopného obvodu náběžnou hranou hodinového impulsu na vstupu CH. Asynchronně je možné výstupy nulovat nebo nastavit úrovní log. 0 na vstupu R resp. S . 7475 - čtyři bistabilní střadače. Vždy dva mají společný vstup uvolnění CL. Je-li CL na úrovni log. 1 jsou data ze vstupů D přenášena na výstupy Q a Q . Výstupy sledují vstupy D. V okamžiku přechodu signálu uvolnění z log. 1 na úroveň log. 0 jsou data uložena do střadače až do doby jeho návratu zpět na úroveň log. 1. 7490 - čtyřbitový asynchronní dekadický čítač. Skládá se ze čtyř klopných obvodů J-K rozdělených na čítač modulo dvě a pět. Oba čítače (děliče) mají vlastní hodinový vstup a čítají na sestupnou hranu hodinového signálu. 74193 - binární synchronní vratný čítač pro funkci čítání vpřed, čítání vzad, přednastavení.
Literatura [4.1] Kodeš, Krejčiřík, Vobecký : Elektronika, skriptum ČVUT, Praha 1994 [4.2] Digital integrated circuits - Philips data handbook [4.3] Bayer, Šimek : Elektronické systémy II - přednášky, skriptum ČVUT, Praha 1992 [4.4] Bayer a kol. : Elektronické systémy II - návody ke cvičením. Skriptum ČVUT, Praha 1990