29. LOGIKAI TÁROLÓ ÉS SZÁMLÁLÓ ÁRAMKÖRÖK VIZSGÁLATA élkitűzés: A gyakorlat során onyolulta feladatok elvégzésére alkalmas digitális áramkörök, programozható áramkörök alapjait képező egyszerű szekvenciális hálózatok, a tároló és számláló áramkörök működését ismertetjük meg. I. Elméleti áttekintés Az előző gyakorlat során megismert, elemi kapukól felépített ún. kominációs hálózatok jellemzője, hogy kimeneti értékeik kizárólag a emeneteken mérhető logikai értékektől függenek. Ezek az áramkörök ezért nem alkalmasak logikai értékek, állapot tárolására, ami nagymértéken korlátozza gyakorlati alkalmazhatóságukat. Példaként hozhatjuk fel azt az igen egyszerű esetet, amikor azt szeretnénk, hogy egy gom megnyomásával egy LED világítani kezdjen, a következő gomnyomásra aludjon ki. Hasonlóan csak állapot tárolással oldható meg a gom megnyomásainak számlálása, vagy például annak számlálása, hogy egy ejáraton hány személy haladt át. Ilyen feladatok megoldására alkalmazhatjuk az ún. szekvenciális logikai hálózatokat, melyek kimeneti értékei nem csak a emeneti értékektől függenek, hanem az áramkör aktuális állapotától is, tehát az ilyen áramkörök valamilyen memóriával rendelkeznek. Félreértések elkerülésének érdekéen megemlítjük, hogy itt nem a számítógépeken alkalmazott memóriákat (RAM, ROM, st.) alkalmazzuk, melyek természetesen szintén alkalmasak állapot és adatok tárolására, de nem képesek egyé logikai feladatok elvégzésére. Ez megfordítva is igaz: szekvenciális logikai áramköröket nem használnak számítógépek memóriájaként, ár elvileg alkalmasak lennének erre.. Egyszerű tárolók, RS tároló A tárolási funkciót leggyakraan az egyszerű kapuk kimeneteinek visszacsatolásával érhetjük el, amely kapcsolásokat illenő áramköröknek, flip-flop -oknak nevezzük. Ezt jól láthatjuk az ún. RS tároló (reset-set tároló) felépítésén, mely két NAND kapuval megvalósítható (.a ára, illetve a szokásos jelöléssel. ára). Ha az.a árán látható kapcsolásnál A és B értéke, és X is, akkor az alsó kapu mindkét emenete, azaz a kimenete Y = 0 lesz. Hasonlóan igaz, ha X = 0, akkor Y =. A = B = esetén tehát az áramkör két stail állapottal rendelkezik, és ármelyik állapotan van is, azt folyamatosan megtartja, tehát memóriával rendelkezik. Megállapíthatjuk, hogy A = B = esetén X és Y nem egyezhet meg, azaz mindig igaz, hogy X és Y egymás negáltjai. Ha B marad, és A értékét 0-ra változtatjuk, akkor a kapcsolás garantálja, hogy X = és Y = 0 állapot áll e, míg A = esetén B-nek 0-ra változtatása X =0 és Y = állapotot eredményez, ármilyen megelőző állapot esetén. Ha A és B is logikai 0 értékű, akkor X = Y =, teljesen függetlenül az előző állapottól. Megállapíthatjuk tehát, hogy az áramkör kimenetei 24
A és B értékétől függően megtartják előző állapotukat, eállíthatók 0 vagy értékre, azaz egy olyan tárolót kaptunk, mely egy logikai értéket képes tárolni, melyet a tárolóa írhatunk. Az I. tálázat tartalmazza az áramkör igazság tálázatát. A X S S B a Y R R. ára A B X Y S R megjegyzés előző érték (Y negáltja) előző érték (X negáltja) tárolás 0 0 írás 0 0 írás 0 0 I. tálázat nincs tárolás ( tiltott állapot ) Az ilyen tárolót RS tárolónak nevezik, hiszen ha X-et tekintjük kimenetnek, akkor A az X eírását, B pedig X törlését vezérli, ezért A helyett leginká S, illetve R jelölés használatos. Az. árán a két inverterként használt NAND kapu azért szükséges, mert így nem negatív logikát kapunk, hanem S = a eírást, R = a törlést, S = R = 0 pedig a tárolást vezérli (S = R = a tiltott állapot). 5 V Az RS tároló egyik egyszerű alkalmazása egy kapcsolóval előállítható megízható logikai érték előállítása. Hogyan is kω állíthatunk elő egy kapcsolóval logikai értéket? Példa erre az inverter igen egyszerű kapcsolás, amit a 2. ára mutat. A K kapcsoló zárt állásáan az inverter emenetére 0 V, ezáltal 0 logikai K érték kerül, ami az inverter kimenetén logikai szintet eredményez. Ha a kapcsoló nyitva van, a emeneten levő, 5 V-ra kötött ellenállás megízhatóan logikai értéken tartja a emeneti jelet, így a kimeneten logikai 0 érték jelenik 2. ára meg. 242
Mechanikus kapcsoló mindig rendelkezik a kapcsolás pillanatáan fellépő izonytalansággal, ezért a logikai kimenő jel a kapcsoláskor rövid ideig igen gyorsan és véletlenszerűen ingadozik, ami gyakran megzavarja a gyors működésű logikai áramköröket (gondoljunk csak például a kapcsolások számlálására). Ezt a jelenséget (melyet gyakran pergésnek, prell -nek neveznek) RS tárolóval egyszerűen kiküszöölhetjük, ezt mutatja a 3.a, ára. S + S 0 K 2 R 0 R 0 + a 3. ára Hogyan érthetjük meg a kapcsolás működését? Induljunk ki aól az esetől, amikor a K 2 kapcsoló az alsó állásan van, ahogy az ára is mutatja. Az R emeneten ekkor 0, az S emeneten pedig érték van, tehát a kimeneten 0 jelenik meg. Ha a kapcsolót átkapcsoljuk, akkor először izonytalanaá válik a kontaktus, ezért az R emeneten igen rövid ideig ingadozhat a jel, de közen a kimeneten változatlan, mivel S továra is, tehát a kimenet nem válthat -re. Amíg a kapcsoló a két végállás között mozog, R és S is stailan, azaz a kimenet továra is változatlan. Mikor a kapcsoló a felső álláshoz ér, rövid idejű izonytalan kontaktus miatt S értéke ingadozhat, és amikor először vált logikai 0 értékre, a kimenet logikai értékre illen. R közen stailan, így S ármilyen értéke esetén is marad a logikai kimeneti szint. 2. Szinkronizált tárolók, élvezérelt tárolók Gyakran előfordul, hogy egy tárolt adat, illetve állapot megváltoztatását idően valamilyen eseményhez, ütemjelhez szinkronizáltan szeretnénk végrehajtani, gondoljunk például a digitális óra működésére, ami másodpercenként változtatja állapotát. Az ilyen szinkronizáló emenettel rendelkező illenő áramköröket órajelvezérelt flip-flpoknak nevezzük. Egy órajelvezérelt RS tárolót mutat a 4. ára. A két S R 4. ára 243
emeneti NAND kapu iztosítja, hogy az S és R emenetek csak a órajel értékénél lesznek hatással az áramkör működésére, 0 érték esetén folyamatosan a tároló funkció él. Órajelvezérelt tárolóknak egy kicsit összetette fajtája az ún. mester-szolga típusú tároló. Ennek lényege, hogy két egymás után kapcsolt tárolóól áll, melyek első tagja (mester) az órajel egyik fázisáan, míg a második (szolga) az órajel másik fázisáan aktív. Így elérhetjük, hogy nem csak az órajel aktív állapotához szinkronizálhatunk, hanem az órajel 0-ról -re vagy -ről 0-ra váltásához (ún. felfutási illetve lefutási élekhez) is, ami sokkal precíze időzítést tesz lehetővé. A kimenet tehát een az eseten csak a emeneteknek az órajel váltását megelőző időpillanateli értékével efolyásolható. A ilyen élvezérelt mester-szolga típusú tárolóknak a D-tárolók (5. ára) és a JK tárolók (6. ára) a legnépszerű változatai, melyek integrált áramköri kivitelen kaphatók, gyakran külön törlő (Reset, lear), eállító (Set, Preset) emenettel is rendelkeznek. Ezen tárolók vázlatát és igazságtálázatát a 5., 6. árák és az ezeknek megfelelő II., illetve III. tálázat tartalmazza. (A II. és a III. tálázatokan a jelölés az órajel (clock) 0-ra változást, a jelölés az órajel (clock) 0 -re változást, a * jelölés pedig tetszőleges logikai értéket jelent.) 7474 SET D RESET a G 5 = G 3 G 2 = G 23 G 2 D 2 G24 D D G4 G 2 Mester Szolga G 22 244 emenetek 5. ára kimenetek megjegyzés SET RESET D 0 * * 0 eállítás, H-ra állítás 0 * * 0 törlés, L-re állítás 0 0 * * tiltott 0 eírás, D 0 0 eírás, D 0 * 0 0 * 0 0 * 0 0 II. tálázat
K G 3 R G G 23 R 2 G2 G 5 J S G 4 G G24 2 S 2 G 22 Mester Szolga 6. ára 245
emenetek kimenetek megjegyzés SET RESET J K 0 * * * 0 eállítás 0 * * * 0 törlés 0 0 * * * 0 0 tiltott 0 0 0 0 0 0 átírás 0 0 átírás 0 0 0 * * 0 0 * * 0 0 * * 0 0 váltás, inverzió III. tálázat Megjegyezzük, hogy nem csak élvezérelt, hanem állapotvezérelt D és JK tárolók is léteznek. Az állapotvezérelt tárolóknál (a emutatott órajelvezérelt RS tárolóhoz hasonlóan) a D illetve JK emeneti értékek az órajel aktív állapotáan (logikai vagy 0 értékénél) folyamatosan a kimenetre hatnak, míg inaktívvá válásakor a kimenet értéke lezárul (tárolódik, reteszelődik ). Ezzel szemen az élvezérelt tárolóknál a emenetek csak az órajelváltás pillanatáan képesek a kimenetet efolyásolni! 3. Számláló áramkörök Számlálókat építhetünk fel, ha az események ekövetkezéséhez órajelet rendelünk, az események számát pedig kettes számrendszereli egész számmal írjuk le. Egy N-ites számláló amely 2 N különöző számot írhat le, tehát 2 N esemény számlálására képes egy olyan N kimenetű szekvenciális hálózat, mely minden órajelimpulzus ekövetkezésekor növeli az addig tárolt szám értékét. A megoldás JK tárolókkal egyszerű, mint gondolnánk. Ha J = K =, akkor a JK tároló kimenete minden órajelváltáskor (lefutó élnél) állapotot vált. Ha sora kötünk JK tárolókat, melyek kimenete vezérli a következő tároló órajelemenetét, akkor a következő tag az előző tag kimenetének lefutó élénél vált állapotot, azaz fele olyan gyakran változik. Így tehát egy kettes számrendszeren működő, ún. ináris számlálót kapunk. Úgy is szokás mondani, hogy az egyes tárolók kettővel osztanak, hiszen az órajelemenetük frekvenciáját valóan felezik. A 7. ára egy 4-ites számlálót 246
0 2 3 lock J0 0 K0 0 J K J2 2 K2 2 J3 3 K3 3 7. ára mutat e. Vegyük észre, hogy a számláló periodikus működésű, a maximális érték után újra nullára áll e. Számlálókkal időmérés is megvalósítható, hiszen ha az órajel másodpercenként változik, akkor a számláló éppen az eltelt másodperceket mutatja. Az időt azonan szeretjük másodpercek helyett nap, óra, perc, másodperc egységeken kijelezni, ezért nagyon jó lenne, ha rendelkeznénk ináris helyett olyan számlálókkal, melyek periódusa 60 és 2 vagy 24. Emellett a tízes számrendszer elterjedtsége miatt szükség van 0-es periódusú számlálókra is. Ezeket a számlálókat 2, 3, 5 periódusú számlálók sora kötésével szokás megvalósítani. A kettővel osztó számláló maga egy JK tároló, a 3-mal és 5-tel osztó számláló néhány kiegészítő kapuval készíthető. 6-os számláló készíthető például egy 2-es és 3-as számláló sora kötésével. Az ilyen számlálók kaszkáda kötésével kapott decimális, 24-es, J0 0 K0 0 J0 K0 P a P 0 2+=3 8. ára 247
60-as, st. számlálók által kódolt szám már nem kettes számrendszereli, hanem inárisan kódolt decimális (BD) szám, melyet megfelelő kijelzőkkel (pl. hétszegmenses kijelzővel) láthatóvá tehetünk. A 8. és 9. ára a 3-as és 5-ös számláló egy lehetséges kapcsolásváltozatát mutatja e. J0 0 K0 0 J0 K0 J0 2 K0 2 P a P 0 2 5=2 2+ 9. ára 4. Oszcillátorok, órajelgenerátorok Tárolók, számlálók periodikus szinkronizálására, vezérlésére, továá időméréshez olyan jelgenerátorokra van szükségünk, melyek stail frekvenciájú logikai kimeneti jelet adnak. Nagyon egyszerűen készíthetünk ilyen oszcillátort a műveleti erősítő alkalmazásainál megismert astail multivirátorhoz hasonlóan, egyetlen Schmitt-trigger emenetű inverter alkalmazásával (0. ára). Jegyezzük meg, hogy a Schmitt-trigger emenet fontos, hiszen logikai emenetű kapu nem kaphat közvetlenül analóg jelet! A kapcsolás hátránya, hogy a Schmitt-trigger kapcsolási szintjei általáan nem precízek, és a passzív elemek (kondenzátor, ellenállás) értéke is erősen hőmérsékletfüggő lehet. Igen pontos oszcillátor kvarckristály segítségével készíthető, mely sokszor igen körültekintő tervezést igényel, itt most egy egyszerű, de jól használható változatot mutatunk e (. ára). 248
R 2 U R R 0. ára. ára II. A mérés menete A kapcsolások elkészítésére egy kapcsolótála áll rendelkezésre, amely alkalmas a tároló áramköröket tartalmazó integrált áramkörök fogadására és a feladatokan megadott kapcsolások megvalósítására. A kapcsolótálán található logikai 0 és érték előállítására szolgáló kapcsolósor, logikai értékek kijelzését végző LED-sor és numerikus kijelző is, amivel a számláló állását tudjuk számjegyekkel megjeleníteni. A gyakorlat során használt integrált áramkörök kivezetéseit a mellékelt adatlapok ismertetik. Elsőként mindig a tápfeszültséget kössük e, majd a kapcsolás töi részét hozzuk létre. Fontos, hogy a kapcsolás elkészültéig és gondos ellenőrzéséig a tápfeszültség mindig kikapcsolt állapotan legyen! Figyeljünk arra is, hogy a nem használt emeneteket (pl. D tároló S és R emeneteit) mindig kössük határozott 0 vagy értékre, hiszen leegő emenet esetén nem garantált az áramkör megfelelő működése. Feladatok:. Készítsünk RS tárolót NAND kapukól. Vegyük fel a kapcsolás igazságtálázatát! 2. Építsen 4-ites ináris számlálót! 3. Készítsünk mechanikai kapcsolóval vezérelhetó logikai jeladót inverterrel és RS tároló felhasználásával. Vizsgáljuk meg számlálóval, hogy pergésmentesítéssel és anélkül milyen a logikai kimenet! 4. Vegyük fel az órajelvezérelt RS tároló, D tároló és JK tároló igazságtálázatát! 5. Készítsünk 4-ites ináris számlálót JK tárolók felhasználásával! A számláló adatait vezessük kijelzőre és vizsgáljuk meg a működést mechanikai kapcsolóval vezérelhető RS tárolóval pergésmentesített jeladóval. 249
6. Állítsunk össze egy másodperc számlálót 6-os és 0-es számláló segítségével. Készítsünk egy körülelül Hz-es működési frekvenciájú inverteres astail multivirátort, és ezzel vizsgáljuk meg az áramkör működését! Kérdések:. Mi a szekvenciális és kominációs hálózatok közötti legfontosa különség? 2. Miért hasznosak a szinkronizált tárolók? 3. Mi a számláló áramkörök működési elve? 4. Hogyan készíthetünk 0-es számrendszeren működő számlálót? 5. Használhatók-e a számlálók időtartam és frekvencia mérésére? Ajánlott irodalom:. U. Tietze, G. Schenk: Analóg és digitális áramkörök, Műszaki Kiadó, Budapest, 993. 2. Török M.: Elektronika, JATEPress, Szeged, 2000. 250