3.6. HAGYOMÁNYOS SZEKVENCIÁLIS FUNKCIONÁLIS EGYSÉGEK A fenti ismertető alapján elvileg tetszőleges funkciójú és összetettségű szekvenciális hálózat szerkeszthető. Vannak olyan szabványos funkciók, amelyek rendelkezésre állnak: gyártják őket MSI áramkörként vagy VLSI áramkörök belső egységeiként. Az alábbi pontokban hagyományos szekvenciális funkcionális egységekkel ismerkedünk meg: A REGISZTEREK A regiszterek viszonylag kis számú bit tárolására alkalmas egységek. A tárolást elemi memóriákkal valósítjuk meg. A memória áramkörök mellett, a regiszter tartalmaz még bizonyos segédáramköröket. A működés módja szerint megkülönböztetünk közönséges (stacionárius) regisztereket, léptető regisztereket és gyűrűs regisztereket. A közönséges regiszterben az elemi memóriák (flip-‐flop vagy latch) egymás mellé vannak állítva és az órajel bemeneteik össze vannak kötve. Az ábrán a PA...PD vonalakon érkező logikai szinteket az órajel felfutó élére beírjuk az egyes flip-‐flopokba. A tartalom folyamatosan kiolvasható a QA...QD vonalakon.
Gyártanak sokféle stacionárius regisztert MSI áramkörként. A következő ábra ezek közül a 74x374 típust mutatja be.
A második regiszter típus a léptető regiszter (shift register). Ebbe ugyanúgy történhet beírás párhuzamos módon, de a beírt tartalom átírható a szomszédos elemi memóriába (léptethető). Az ábra egy olyan léptető regisztert mutat, amely jobb irányba tudja léptetni a beírt tartalmat.
Az alábbi ábra a 74x164 típusú nyolcbites MSI léptető regiszter belső szerkezetét és lábkiosztását mutatja. Ennek a léptető regiszternek nincs párhuzamos bemenete.
A léptető regiszter tovább bonyolítható azzal, hogy lehetővé tesszük a jobbra tolás mellett a balra tolást, a párhuzamos beírást és a korábbi érték megtartását is, az így kapott áramkört univerzális regiszternek nevezzük. A léptető regiszter soros kimenete visszacsatolható a soros bemenetre – így kapjuk a gyűrűs regisztereket (nevezik gyűrűs számlálónak is. Az ábra egy négybites gyűrűsregiszter mutat.
Ha a SET jellel a megfigyelés kezdetén egyest írunk az első flip-‐flopba (aszinkron szet) és nullát a fennmaradt háromba, a tartalom az alábbi ábra szerint fog keringeni:
A gyűrűs regiszter egy különleges esetét kapjuk, ha a soros kimenetet negáltját csatoljuk vissza a soros bemenetre. Az így kapott áramkör a Johnson féle számláló.
Az áramkör érdekessége, hogy a kimeneti értékek sorozata nem n (n a flip-‐flopok száma), hanem 2n órajel periódus alatt ismétlődnek:
A SZÁMLÁLÓK Számláló alatt minden olyan sorrendi hálózatot értünk, amely periódikusan ugyanazon az állapotsoron halad keresztül:
Az állapotok számát a számláló modulusának nevezzük. Egyes esetekben a modulus a kettes szám egész számú hatványa: m=2n, ilyenkor a számláló végig halad az összes lehetséges állapoton (n a flip-‐flopok száma). Más esetekben m<2n, ilyenkor létezik 2n –m állapot, amely nincs használatban. A számlálókat aszinkron és szinkron módon szokásos megvalósítani. A szinkron működtetésnél az egyes flip-‐flopokra ugyanazt az órajelet vezetjük. Az aszinkron működtetés adja a legegyszerűbb hálózatot, de az egyes flip-‐flopok nem egyidejű állapotváltása időzítési problémákhoz vezethet. Az aszinkron számlálókat T flip-‐flopokból szokták megépíteni:
Külső órajelet csak az első flip-‐flopra vezetünk, a többiek az előző flip flop kimenetét fogadják. Tekintettel arra, hogy az alkalmazott T flip-‐flop az órajel minden lemenő élére váltja az állapotát, a diagramon bemutatott működést kapjuk:
Táblázatba írva az egyes órajel periódusokban kapott kimeneti értékeket, a következő eredményt kapjuk:
A számláló természetes bináris kódban számlál, 24=16 órajel perióduson keresztül. 74x393 típusjelzéssel gyártanak aszinkron számlálót (MSI áramkörök). Ennek belső szerkezetét és lábkiosztását az ábrán láthatjuk:
A szinkron számlálók megépítéséhez, a flip-‐flopok mellett, szükséges bizonyos kombinációs hálózat, amely előkészíti az új állapotot. Ez a hálózat a sorrendi hálózatok tervezésére ismertetett módszerrel tervezhető meg. Az alábbi ábra négy bites szinkron számláló logikai rajzát mutatja. A memória elemek D típusú flip-‐flopok. A kiegészítő kombinációs hálózat mindig akkor engedélyezi a magasabb helyi értéken levő flip-‐flopba egyes beírását, ha az előző órajel periódusban minden kisebb helyi értéken egyes volt.
A bemutatott megoldás rendelkezik egy engedélyező jellel (CNTEN). Számos MSI számláló áramkört gyártanak sorozatban. Példaként tekintsük a 74x163-‐as típust, ennek belső kapcsolását és lábkiosztását az alábbi ábrán áthatjuk:
Ez a kapcsolás állandó engedélyezés mellett az alábbi ábrán látható idődiagramokat hozza létre.
Fontos megjegyezni, hogy a számláló frekvenciaosztást végez: a Q0 kimeneten megjelenő négyszögjel frekvenciája fele az órajel frekvenciájának, a Q1-‐en négyszeres a leosztás stb. A számlálás mellett ebbe az eszközbe végezhetünk párhuzamos beírást is. Az ENT és ENP bemenetek a számláló bővítéséhez használatosak. Az alábbi ábra két egység összekapcsolását mutatja nyolcbites számlálás céljából.
Egyes alkalmazásokban szükséges a számlálónak egyszer előre, máskor hátra lépkednie. Ez úgy érhető el, hogy megfelelő kombinációs hálózatok előkészítik a beírandó új értékeket mindkét esetre, majd egy multiplexerrel eldöntjük, hogy mely értékek legyenek beírva. Ilyen előre/hátra számláló a 74x169-‐es MSI áramkör. A 2n modulusú számlálók mellett más számlálók is használatosak, leginkább BCD számlálók. A négybites BCD számláló nem 0-‐tól 15-‐ig, hanem 0-‐tól 9-‐ig lépteti az állapotokat. MSI áramkörökkel való tervezésnél a 2n-‐nél kisebb modulust megfelelő visszacsatolásokkal érjük el. Az alábbi példában 145-‐ös modulust valósítunk meg két darab négybites számlálóval. Először is két áramkör összekapcsolásával 256-‐os modulusú számlálót hozunk létre majd ezt csökkentjük 145-‐re. A csökkentést végző visszacsatolás lehet aszinkron jellegű, mint az alábbi ábrán: QAQBQCQD
QEQFQGQH
QAQBQCQD
RCO QA QB QC QD CLR LOAD ENT ENP CLK A B C D
H
H
H H
CLR LOAD ENT ENP CLK A B C D
RCO QA QB QC QD
IN
H
RCO QA QB QC QD CLR LOAD ENT ENP CLK A B C D
H H
H H H
RCO QA QB QC QD
&
CLR LOAD ENT ENP CLK A B C D
&
QEQFQGQH
IN
QEQFQGQH
QAQBQCQD
QEQFQGQH
zikron tˆrlÈssel
RCO QA QB QC QD
H
CLR LOAD ENT ENP CLK A B C D
H H
H
RCO QA QB QC QD CLR LOAD ENT ENP CLK A B C D
H
H H
CLR LOAD ENT ENP CLK A B C D
RCO QA QB QC QD
&
L L L L
L L L L
L L L L
IN
CiklusrˆvÌdÌtÈs szinkron beÌr·ssal
L L L L
L L L L
L L L L
L L L L
CiklusrˆvÌdÌtÈs szinkron beÌr·ssal CiklusrˆvÌdÌtÈs aszikron tˆrlÈssel Itt a ÉS kapuval detektáljuk a 145. állapot megjelenését és reszeteljük a számlálót. A 145-‐ös állapot rövid megjelenése aszinkron működést eredményez. A szinkron megoldást az alábbi ábra szemlélteti. Ugyanúgy ÉS kapuval detektáljuk az utolsó (144.) állapotot és az órajel következő periódusában beírjuk a 0 állapotot.
A LINEÁRIS VISSZACSATOLÁSÚ LÉPTETŐ REGISZTER (LFSR) A bináris számlálók rendszerint természetes (növekvő vagy csökkenő) bináris sorrendben számlálnak. A lineáris visszacsatolású léptető regiszterek (linear feedback shift register – LFSR) látszólag szabálytalan sorrendben generálják a bináris kódokat, de mindig azonos sorozatot ismételnek. A sorozat 2n-‐1 kódból áll, a tisztán nullákból álló kód nem szerepel. A lineáris visszacsatolású léptető regiszter elvi rajzát az alábbi ábrán láthatjuk:
Soros bemenettel és párhuzamos kimenettel ellátott léptető regiszterre kell visszacsatolást alkalmazni. Bármilyen hosszúságú regiszterre létezik legalább egy olyan visszacsatolás, amellyel elérhető, hogy mind a 2n-‐1 állapot ki legyen használva. Az alábbi táblázatban megadtuk néhány esetre a visszacsatoló hálózat logikai függvényét:
Amint látható, viszonylag kis számú KIZÁRÓ-‐VAGY kapuval megoldható a visszacsatolás. Négy bitre az ábrán bemutatott visszacsatolással hozható létre az LFSR:
Az LFSR hálózatok előnye a közönséges számlálókhoz képest az, hogy az egyszerű visszacsatoló hálózatnak köszönhetően, kicsik a hálózat késései, így nagyon nagy órajel frekvencián tud működni a regiszter. A nagy frekvencia elengedhetetlen a gyors és nagy felbontású PWM (impulzus-‐ szélesség modulált) jelek képzésénél. Egy másik fontos alkalmazás a látszólag véletlen (pseudo random) digitális jelsorozat generálása.