Číslo projektu Číslo materiálu Název školy Autor Tematická oblast Ročník CZ.1.07/1.5.00/34.0581 VY_32_INOVACE_OV_2.ME_CISLICOVA_TECHNIKA_19_SPOJENI KOMBINACNICH_A_SEKVENCNICH_OBVODU Střední odborná škola a Střední odborné učiliště, Dubno Jan Pošvář Odborný výcvik, číslicová technika Druhý Datum tvorby 15. 9. 2012 Anotace Seznámení s kombinací obvodů CMOS, rozbor problému čítače s CD4518. Pokud není uvedeno jinak, použitý materiál je z vlastních zdrojů autora
Práce Spojení kombinačních a sekvenčních obvodů Kombinační obvod obvod, který reaguje ihned na nějakou podmínku na vstupu, obvykle podle vzorce funkce, kterou představuje. Sekvenční obvod obvod, který za splnění podmínky pracuje se svou paměťovou částí. Jde tedy o stavový obvod s pamětí. Spojením kombinačního a sekvenčního obvodu můžeme vytvořit jistou logiku, která bude řešit daný problém v čase, protože si uchovává předchozí stav v paměti. Nejjednodušším takovým obvodem je RS-KO, který řeší obecně používaný problém zapínání stroje jedním tlačítkem a vypínání jiným tlačítkem. Jedná se o obvod, který místo otočného vypínače používá relátek, častěji stykače. Dalším obvodem je obvod typu D, který uchovává data ve své paměti. Vhodným zapojením se z něj vytvoří obvod T, který po každém hodinovém impulsu mění svůj stav. Jejich kaskádovým zapojením (tzv. za sebou výstup jednoho řídí vstup následujícího) vzniká tzv. čítač asynchronní. Při použití obvodů JK a jejich kaskádovým zapojením vzniká čítač synchronní. Kombinačních obvodů je celá řada, od těch základních (NAND, AND, ) až ke specifickým (demultiplexer, multiplexer, dekodér). Jejich použití je buď obecné nebo specifické, podle jejich funkce. Například dekodér z BCD na sedmisegmentový display má přímo dané použití pro LED nebo LCD displaye. Kdežto NAND obvod je používán jako součást nějaké specifické rovnice, která obsahuje více takových i jiných obvodů. Sekvenční obvody jsou také obecné a účelové. Mezi obecné řadíme právě RS-KO, D, JK, čítač. Mezi účelové řadíme všechny ostatní. Účelovým obvodem může být výše zmíněný BCD dekodér obohacený o vnitřní střadač, který uchovává data uvnitř obvodu, i když se data na vnější sběrnici mění. To umožňuje zjednodušit návrh schématu a desky plošných spojů, neboť každý LED display nepotřebuje vlastní datové vstupy. Je celkem přirozené, že se tím zesložiťuje multiplexování takového signálu například pomocí MCU, který postupně předá informace jednotlivým dekodérům. Popis problému: vytvořte čítač impulsů od 0 do 9 pomocí binárního čítače a stav zobrazte na LED display. Řešení: Zadání problému nám ukazuje 3 části: 1.čítač počítá od 0 do 9 2.použijeme binární čítač 3.výsledek zobrazíme na LED display pro binární čítání do 9 potřebujeme 10 stavů:
Tabulka 1: stavy 8 4 2 1 Stavy 0 0 0 0 Stav 0 0 0 0 1 Stav 1 0 0 1 0 Stav 2 0 0 1 1 Stav 3 0 1 0 0 Stav 4 0 1 0 1 Stav 5 0 1 1 0 Stav 6 0 1 1 1 Stav 7 1 0 0 0 Stav 8 1 0 0 1 Stav 9 1 0 1 0 Stav 10 1 0 1 1 Stav 11 1 1 0 0 Stav 12 1 1 0 1 Stav 13 1 1 1 0 Stav 14 1 1 1 1 Stav 15 Stav 9 a Stav 10 jsou zvýrazněny, protože se podle nich vytvoří funkce na resetování obvodu čítače. Pro to, abychom věděli, jak čítač resetovat, potřebujeme jej vybrat. Pro tuto funkci nám postačí obvod 4518, který obsahuje 2 takové 4-bitové čítače. Obrázek 1: vnitřní zapojení 4518 obrázek 2: pravdivostní tabulka Zdroj: http://www.datasheetcatalog.org/datasheets/120/109587_ds.pdf
Z pravdivostní tabulky je vidět, kdy čítač čítá a kdy je možné jej resetovat do stavu 1. To je tedy vždy. Problém je v tom, že když kombinační obvod zjistí stav 9, ihned čítač resetuje a tak prakticky není stav 9 vidět déle, než dobu reakce obvodů (max. jednotky μs). Naskytují se dvě možnosti řešení. Jednou je synchronizace s hodinami a druhou je reakce až na stav 10. Pro synchronizaci hodin bude rozhodný stav následující: 8 4 2 1 CLOCK 1 0 0 1 0 (sestupná hrana) Otázka zní: Bude tento stav dostačující? Uděláme tedy myšlenkovou simulaci: Čítač čítá s každým náběžným impulsem hodin (CLOCK). Sestupná hrana a následná vzestupná hrana mají mezi sebou časový rozestup. Když čítač dopočítá ke stavu 9 (1001), bude v tu chvíli CLOCK=1 a kombinační obvod nereaguje. Po následné sestupné hraně kombinační obvod resetuje čítač. Není tedy časový interval k další náběžné hraně tak dlouhý. Tím stav 9 sice nezmizí, bude se však objevovat kratší dobu než by měl. Druhou možností je resetovat obvod následujícím stavem (stav 10). Tento stav se objeví na výstupu čítače po dobu, než jej kombinační část vynuluje. Časový sled je zde dodržen, stavový sled je mírně překročen. Pokud vezmeme v úvahu fakt, že ve stavu 10 bude čítač jen nepatrnou část doby (jednotky μs) a další zpracování bude zobrazení, tento fakt nám nevadí. Pokud by další zpracování bylo důležité např. Pro výpočty, bylo by nutné obvod upravit na první variantu, anebo použít jiný čítač, například BCD. Po zvolení stavu 10 jako resetovacího, přejdeme rovnou k řešení obvodu. Resetovací stav je 1010(b) a rovnice zní : Y = (Q1xQ3)x(Q2xQ4). Protože čítač čítá inkrementačně, lze předpokládat, že nenastane stav 1111. Tímto závěrem se rovnice zjednodušuje na: Y = Q2xQ4. Podle vzorců základních členů TTL a CMOS logiky jde o hradlo AND. Úkol: Vytvořte v programu Multisim schéma tohoto obvodu proveďte simulaci zapište do tabulky stavy, kterými obvod prochází zapište, v jaké fázi CLOCK se obvod resetuje (náběžná, sestupná hrana)
Obrázek 3: zapojení čítače Tabulka 3: stavy simulace Q4 Q3 Q2 Q1 Zdroje: http://www.datasheetcatalog.org/datasheets/120/109587_ds.pdf 4518