Sériový vstup dat | Paralelní vstup dat | Kruhový registr |
Kombinací n klopných obvodů, schopnou zapamatovat si n-bitovou informaci, nazýváme registrem. Spojíme-li výstup klopného obvodu se vstupem následujícího klopného obvodu etc., dostáváme sestavu tzv. posuvného registru. Příklad pětibitového posuvného registru, který je komerčně vyráběn, vidíme na obr. 7.30. Pro posuvný registr jsou nezbytné dvojčinné obvody typu J-K. Pokud je posuvný registr vybaven sériovým vstupem dat (viz obr. 7.30), je první klopný obvod opatřen invertorem mezi vstupy J a K , čímž je vytvořen z tohoto klopného obvodu klopný obvod typu D. Hradla typu NAND v nastavovacích vstupech klopných obvodů slouží k tomu, aby se všech pět klopných obvodů po nastavení informace na jednotlivých vstupech PS0 - PS4 mohlo nastavit jediným impulsem.
obr. 7.30
7.6.1. Sériový vstup dat |
Předpokládejme, že chceme zapsat do registru binární číslo 01011. Číslo zapisujeme způsobem obvyklým u decimálních čísel tak, že nejméně významný bit je vpravo. Sledujme při tom Tab. 7.5. Nejprve je třeba vynulovat všechny klopné obvody aplikací logické úrovně 0 na mazací vstup registru. Pak všechny výstupy Q0 - Q4
Tabulka 7.5
jsou 0. Nastavovací vstup registru je na úrovni logické 0, což má za následek, že všech pět nastavovacích vstupů jednotlivých klopných obvodů je na úrovni logické jedničky. Data na sériovém vstupu registru musí být synchronizována s hodinovými impulsy tak, že při aplikaci hodinového impulsu do registru je na sériovém vstupu nastaven jeden z datových bitů počínaje od nejméně významného (LSB). Při prvním hodinovém impulsu je tedy na vstupu registru (KO4) nejméně významný bit, který se úběžnou hranou impulsu přesune na výstup Q4 , tedy na vstup S3 a jeho komplement na R3. Proto při aplikaci druhého hodinového impulsu se nejméně významný bit přesune na výstup Q3 event. komplementovaný na , zatímco do K04 se načte další bit digitálního slova. Po pěti bitech se musí hodiny zastavit a podle tabulky vidíme, že v každém z klopných obvodů je po řadě informace o jednom z bitů zadaného dvojkového čísla. Tuto informaci můžete přečíst najednou z výstupů Q4 - Q0; v tom případě mluvíme o převodníku sériového na paralelní kód, nebo opět sériově z výstupu Q0; například při značně větší rychlosti hodinových impulsů. To je tzv. metoda vyrovnávací paměti (registr FIFO, first in, first out). Např. při spojení terminálu s počítačem není možné, aby terminál byl k počítači připojen po celou dobu, kdy vkládáme klávesnicí data. Proto se data z klávesnice ukládají do vyrovnávací paměti (např. jeden řádek obsahující max. 80 znaků), která se rychle vyprázdní na povel k odeslání dat.
7.6.2. Paralelní vstup dat |
Všimněme si nyní nastavovacích vstupů PS0 - PS4. Tyto vstupy jsou od vlastních nastavovacích vstupů klopných obvodů odděleny hradly NAND, které umožňují blokovat vnější vstupy a zapsat informaci jediným impulsem do vstupu nastavení registru. To je vhodné např. při přenosu dat od digitálních měřících přístrojů,kde je informace v paralelní formě, tj. všechny bity jsou dostupné najednou. K propojení měřícího přístroje s řídícím počítačem však někdy není možné použít velkého množství vodičů, proto je třeba převést tuto paralelní informaci na sériovou. Po ukončení měření, kdy je na vstupech PS0 - PS4 informace např. o jednom z decimálních čísel zobrazovací jednotky, aplikujeme logickou úroveň 1 na vstup nastavení registru, čímž nastavíme výstupy jednotlivých klopných obvodů Q0 - Q4 do odpovídajících pozic (registr je třeba nejprve vynulovat). Proto se vstupu nastavení registru někdy říká zapisovací vstup (write). Informace shromážděná v registru se nyní může přečíst buď opět paralelně; v tom případě je třeba opatřit výstupy Q0 - Q4 obdobnými hradly NAND jako nastavovací vstupy. Druhý vstup hradel pak umožňuje oddělit výstupy registru od dalšího zařízení. Informaci však můžeme přečíst též sériově z výstupu Q0 při synchronní aplikaci hodinových impulsů. V tomto případě hovoříme o převodníku paralelního na sériový kód.
7.6.3. Kruhový registr |
Spojíme-li výstup Q0 se sériovým vstupem registru, opakuje se na výstupech Q0 - Q4 táž informace vždy po pěti hodinových impulsech. Takovému uspořádání říkáme kruhový registr. Lze si např. představit desetibitový kruhový regitr,do jehož MSB byla na počátku uložena jednička a jinak byl registr vynulován. Je zřejmé, že vždy po deseti hodinových impulsech bude na MSB opět jednička a podle toho, na kterém bitu je právě jednička poznáme, kolik impulsů (v rozmezí od 0 do 9) přijal hodinový vstup registru. Takový registr tedy tvoří dekadický čítač (dělič deseti), kde není nutný dekodér binární informace na dekadickou; komplikaci však tvoří skutečnost, že je třeba vždy po zapnutí přístroje vložit do registru jedničku, která pak v registru "obíhá". Pro dělení větším číslem potřebujeme rovněž značný počet klopných obvodů, takže cena zařízení neúměrně stoupá.