Na rozdíl od kombinačních logických obvodů, které mění stav v závislosti na aktuálních signálech přivedených na jejich vstupy, mají sekvenční logické obvody zabudovanou určitou formu „paměti“.
To znamená, že sekvenční logické obvody jsou schopny brát v úvahu jak svůj předchozí vstupní stav, tak i stavy aktuálně přítomné, u sekvenčních obvodů jde o jakýsi efekt „před“ a „po“.
Jinými slovy, výstupní stav „sekvenčního logického obvodu“ je funkcí následujících tří stavů, „současného vstupu“, „minulého vstupu“ a/nebo „minulého výstupu“. Sekvenční logické obvody si tyto stavy pamatují a zůstávají fixovány ve svém současném stavu, dokud další hodinový signál nezmění jeden ze stavů, což dává sekvenčním logickým obvodům „paměť“.
Sekvenční logické obvody se obecně označují jako dvoustavová nebo bistabilní zařízení, která mohou mít svůj výstup nebo výstupy nastaveny do jednoho ze dvou základních stavů, logické úrovně „1“ nebo logické úrovně „0“, a zůstanou v tomto aktuálním stavu nebo podmínce „zacvaknuty“ (odtud název latch) po neomezenou dobu, dokud není aplikován nějaký další vstupní spouštěcí impuls nebo signál, který způsobí, že bistabilní zařízení opět změní svůj stav.
- Zobrazení sekvenční logiky
- Klasifikace sekvenční logiky
- Sekvenční smyčka se zpětnou vazbou
- SR flip-flop
- Flip-flop SR hradlo NAND
- Základní SR flip-flop
- Stav Set
- Stav resetování
- Pravdivostní tabulka pro toto nastavení-Reset Function
- S-R spínací diagram flip-flopu
- Pozitivní hradlo NAND SR Flip-flop
- Klopné hradlo NOR SR
- Obvody pro ladění spínačů
- Obvod pro odblokování spínače SR flip flop
- Čtyřnásobná SR bistabilní západka 74LS279
- Gated nebo Clocked SR Flip-.Flop
- Gated SR Flip-flop
Zobrazení sekvenční logiky
Slovo „sekvenční“ znamená, že se věci dějí v „posloupnosti“, jedna po druhé, a v obvodech sekvenční logiky určuje aktuální hodinový signál, kdy se stane další věc. Jednoduché sekvenční logické obvody lze sestavit ze standardních bistabilních obvodů, jako např:
Klasifikace sekvenční logiky
Jako jsou standardní logická hradla základními stavebními kameny kombinačních obvodů, jsou bistabilní hradla a klopné obvody základními stavebními kameny sekvenčních logických obvodů. Ze sekvenčních logických obvodů lze sestavit buď jednoduché hranově spouštěné klopné obvody, nebo složitější sekvenční obvody, jako jsou paměťové registry, posuvné registry, paměťová zařízení nebo čítače. V každém případě lze sekvenční logické obvody rozdělit do následujících tří hlavních kategorií:
- 1. Řízené událostmi – asynchronní obvody, které mění stav okamžitě po zapnutí
- 2. Řízené událostmi – asynchronní obvody, které mění stav okamžitě po zapnutí. Clock Driven – synchronní obvody, které jsou synchronizovány na určitý hodinový signál.
- 3. Pulse Driven – což je kombinace obou, která reaguje na spouštěcí impulsy.
Kromě dvou výše zmíněných logických stavů logické úrovně „1“ a logické úrovně „0“ je zaveden třetí prvek, který odděluje sekvenční logické obvody od jejich kombinačních logických protějšků, a to ČAS. Sekvenční logické obvody se po resetu vracejí zpět do původního ustáleného stavu a o sekvenčních obvodech se smyčkami nebo zpětnovazebními cestami se říká, že mají „cyklickou“ povahu.
Nyní víme, že v sekvenčních obvodech dochází ke změnám pouze při přivedení hodinového signálu, což je činí synchronními, jinak je obvod asynchronní a závisí na vnějším vstupu. Aby si sekvenční obvody zachovaly svůj aktuální stav, spoléhají na zpětnou vazbu a ta nastává, když je část výstupu přivedena zpět na vstup, což se demonstruje jako:
Sekvenční smyčka se zpětnou vazbou
Dva invertory nebo hradla NOT jsou zapojeny do série, přičemž výstup při Q je přiveden zpět na vstup. Tato konfigurace bohužel nikdy nemění stav, protože výstup bude vždy stejný, buď „1“, nebo „0“, je trvale nastaven. Jak funguje zpětná vazba, si však můžeme ukázat při zkoumání nejzákladnějšího sekvenčního logického prvku, který se nazývá SR flip-flop.
SR flip-flop
SR flip-flop, známý také jako SR Latch, lze považovat za jeden z nejzákladnějších možných sekvenčních logických obvodů. Tento jednoduchý flip-flop je v podstatě jednobitové paměťové bistabilní zařízení, které má dva vstupy, jeden, který zařízení „NASTAVÍ“ (což znamená, že výstup = „1“), a označuje se S, a druhý, který zařízení „RESETUJE“ (což znamená, že výstup = „0“), označuje se R.
Popis SR znamená „Set-Reset“. Vstup reset resetuje klopný obvod zpět do původního stavu s výstupem Q, který bude buď na logické úrovni „1“, nebo na logické úrovni „0“ v závislosti na tomto stavu nastavení/resetování.
Základní klopný obvod hradla NAND SR poskytuje zpětnou vazbu z obou svých výstupů zpět na své protilehlé vstupy a běžně se používá v paměťových obvodech k ukládání jednoho datového bitu. Pak má SR flip-flop vlastně tři vstupy, Set, Reset a svůj aktuální výstup Q vztahující se k jeho aktuálnímu stavu nebo historii. Termín „flip-flop“ se vztahuje k vlastnímu fungování zařízení, protože jej lze „překlopit“ do jednoho logického stavu Set nebo „překlopit“ zpět do opačného logického stavu Reset.
Flip-flop SR hradlo NAND
Nejjednodušší způsob, jak vytvořit jakýkoli základní jednobitový flip-flop SR set-reset, je spojit dohromady dvojici křížově spojených dvouvstupových hradel NAND, jak je znázorněno na obrázku, a vytvořit tak bistabilní hradlo Set-Reset známé také jako aktivní LOW SR hradlo NAND Latch, takže z každého výstupu je zpětná vazba na jeden z ostatních vstupů hradla NAND. Toto zařízení se skládá ze dvou vstupů, z nichž jeden se nazývá Set, S, a druhý Reset, R, se dvěma odpovídajícími výstupy Q a jeho inverzí nebo doplňkem Q (not-Q), jak je znázorněno níže.
Základní SR flip-flop
Stav Set
Považte výše uvedený obvod. Je-li vstup R na logické úrovni „0“ (R = 0) a vstup S na logické úrovni „1“ (S = 1), hradlo NAND Y má alespoň jeden ze svých vstupů na logické úrovni „0“, proto musí být jeho výstup Q na logické úrovni „1“ (principy hradla NAND). Výstup Q je také přiveden zpět na vstup „A“, a proto jsou oba vstupy hradla NAND X na logické úrovni „1“, a proto musí být jeho výstup Q na logické úrovni „0“.
Znovu principy hradla NAND. Pokud resetovací vstup R změní stav a přejde do stavu HIGH na logickou úroveň „1“, přičemž S zůstane rovněž HIGH na logické úrovni „1“, vstupy hradla NAND Y jsou nyní R = „1“ a B = „0“. Protože jeden z jeho vstupů je stále na logické úrovni „0“, výstup na Q zůstává stále HIGH na logické úrovni „1“ a nedochází ke změně stavu. Proto se o klopném obvodu říká, že je „Latched“ nebo „Set“ s Q = „1“ a Q = „0“.
Stav resetování
V tomto druhém stabilním stavu je Q na logické úrovni „0“, (nikoli Q = „0“) jeho inverzní výstup na Q je na logické úrovni „1“, (Q = „1“) a je dán R = „1“ a S = „0“. Protože hradlo X má jeden ze svých vstupů na logické úrovni „0“, musí se jeho výstup Q rovnat logické úrovni „1“ (opět principy hradla NAND). Výstup Q je přiveden zpět na vstup „B“, takže oba vstupy hradla NAND Y jsou na logické úrovni „1“, tudíž Q = „0“.
Pokud nyní nastavený vstup S změní stav na logickou úroveň „1“, přičemž vstup R zůstane na logické úrovni „1“, výstup Q zůstane stále NÍZKÝ na logické úrovni „0“ a nedojde ke změně stavu. Stav „Reset“ klopných obvodů byl tedy také latován a tuto akci „set/reset“ můžeme definovat v následující pravdivostní tabulce.
Pravdivostní tabulka pro toto nastavení-Reset Function
State | S | R | Q | Q | Description |
Set | 1 | 0 | 0 | 1 | Set Q “ 1 |
1 | 1 | 0 | 1 | no change | |
Reset | 0 | 1 | 1 | 0 | Reset Q “ 0 |
1 | 1 | 1 | 0 | no change | |
Invalid | 0 | 0 | 1 | 1 | Invalid Condition |
It can be seen that when both inputs S = „1“ and R = „1“ the outputs Q and Q can be at either logic level „1“ or „0“, depending upon the state of the inputs S or R BEFORE this input condition existed. Podmínka S = R = „1“ tedy nemění stav výstupů Q a Q.
Stav vstupů S = „0“ a R = „0“ je však nežádoucí nebo neplatný stav a je třeba se mu vyhnout. Stav S = R = „0“ způsobí, že oba výstupy Q a Q budou společně HIGH na logické úrovni „1“, když bychom normálně chtěli, aby Q bylo inverzní k Q. Výsledkem je, že klopný obvod ztratí kontrolu nad Q a Q, a pokud jsou nyní oba vstupy po tomto stavu opět přepnuty „HIGH“ na logickou „1“, klopný obvod se stane nestabilním a přepne se do neznámého datového stavu na základě nevyváženosti, jak ukazuje následující spínací diagram.
S-R spínací diagram flip-flopu
Tato nerovnováha může způsobit, že jeden z výstupů se přepne rychleji než druhý, což má za následek, že flip-flop přepne do jednoho nebo druhého stavu, což nemusí být požadovaný stav, a dojde k poškození dat. Tento nestabilní stav se obecně označuje jako jeho metastabilní stav.
Jednoduchý klopný obvod NAND gate SR nebo hradlo NAND gate SR latch lze nastavit přivedením logické „0“, (LOW) na jeho vstup Set a znovu resetovat následným přivedením logické „0“ na jeho vstup Reset. O SR flip-flopu se říká, že je v „neplatném“ stavu (meta-stabilní), pokud jsou aktivovány oba vstupy set a reset současně.
Jak jsme viděli výše, základní NAND hradlo SR flip-flop vyžaduje logické vstupy „0“ pro překlopení nebo změnu stavu z Q do Q a naopak. Tento základní klopný obvod však můžeme změnit na takový, který mění stav přivedením kladných vstupních signálů, a to přidáním dvou dalších hradel NAND připojených jako invertory ke vstupům S a R, jak je znázorněno na obrázku.
Pozitivní hradlo NAND SR Flip-flop
Stejně jako pomocí hradel NAND lze také zkonstruovat jednoduchý jednobitový SR Flip-flop pomocí dvou křížově spojených hradel NOR zapojených ve stejné konfiguraci. Obvod bude fungovat podobně jako výše uvedený obvod hradla NAND s tím rozdílem, že vstupy jsou aktivní HIGH a neplatný stav nastane, když jsou oba jeho vstupy na logické úrovni „1“, a to je znázorněno níže.
Klopné hradlo NOR SR
Obvody pro ladění spínačů
Klopné hradlo NOR vyžaduje pěkný čistý přechod signálu, a jedním z praktických použití tohoto typu set-reset obvodu je západka, která se používá k eliminaci mechanického „odskakování“ spínačů. Jak již název napovídá, k odskočení spínače dochází při ovládání kontaktů jakéhokoli mechanicky ovládaného spínače, tlačítka nebo klávesnice, kdy vnitřní kontakty spínače nejsou zcela čistě sepnuty, ale před sepnutím (nebo rozepnutím) po stisknutí spínače nejprve odskočí k sobě.
Tím vzniká řada jednotlivých impulzů, které mohou být dlouhé až desítky milisekund, které může elektronický systém nebo obvod, například digitální čítač, vnímat jako řadu logických impulzů namísto jednoho dlouhého jediného impulzu a chovat se nesprávně. Například během této doby odskoku může výstupní napětí divoce kolísat a může zaznamenat více vstupních počtů namísto jednoho jediného. Pak lze k odstranění tohoto druhu problému použít set-reset SR Flip-flops nebo obvody s bistabilní západkou, což je demonstrováno níže.
Obvod pro odblokování spínače SR flip flop
V závislosti na aktuálním stavu výstupu, pokud jsou stisknuta tlačítka set nebo reset, výstup se přepne výše popsaným způsobem a případné další nežádoucí vstupy (odskoky) od mechanického působení přepínače nebudou mít na výstup při Q žádný vliv.
Při stisknutí druhého tlačítka již první kontakt způsobí změnu stavu západky, ale jakékoli další mechanické odskoky spínače nebudou mít rovněž žádný vliv. Flip-flop SR pak může být po krátké době, například 0,5 sekundy, automaticky RESETován, aby bylo možné zaregistrovat případné další a záměrné opakované vstupy ze stejných spínacích kontaktů, například vícenásobné vstupy z klávesy „RETURN“ na klávesnici.
Běžně dostupné integrované obvody speciálně vyrobené pro překonání problému odskoku spínače jsou MAX6816, jednovstupový, MAX6817, dvouvstupový a MAX6818 osmivstupový spínací debouncer IC. Tyto čipy obsahují potřebné klopné obvody pro zajištění čistého propojení mechanických spínačů s digitálními systémy.
Bistabilní západky s nastavením a resetem lze také použít jako monostabilní (jednorázové) generátory impulzů pro generování jediného výstupního impulzu, buď vysokého, nebo nízkého, o určité šířce nebo časové periodě pro účely časování nebo řízení. 74LS279 je integrovaný obvod se čtyřmi bistabilními západkami typu SR, který obsahuje čtyři samostatné bistabilní obvody typu NAND v rámci jednoho čipu, což umožňuje snadnou konstrukci spínacích ladicích nebo monostabilních/astabilních hodinových obvodů.
Čtyřnásobná SR bistabilní západka 74LS279
Gated nebo Clocked SR Flip-.Flop
V sekvenčních logických obvodech je někdy žádoucí mít bistabilní SR flip-flop, který mění stav pouze při splnění určitých podmínek bez ohledu na stav vstupů Set nebo Reset. Zapojením dvouvstupového hradla AND do série s každým vstupním pólem SR flip-flopu lze vytvořit SR flip-flop s hradlem. Tento dodatečný podmíněný vstup se nazývá vstup „Enable“ a má předponu „EN“. Přidání tohoto vstupu znamená, že výstup na Q mění stav pouze tehdy, když je HIGH, a lze jej proto použít jako hodinový vstup (CLK), takže je citlivý na úroveň, jak je znázorněno níže.
Gated SR Flip-flop
Když je vstup Enable „EN“ na logické úrovni „0“, jsou výstupy obou hradel AND rovněž na logické úrovni „0“, (principy hradel AND) bez ohledu na stav obou vstupů S a R, čímž se oba výstupy Q a Q zafixují do posledního známého stavu. Když se povolovací vstup „EN“ změní na logickou úroveň „1“, obvod reaguje jako normální bistabilní SR flip-flop se dvěma hradly AND, která se stanou transparentními pro signály Set a Reset.
Tento dodatečný povolovací vstup může být také připojen k časovacímu signálu (CLK), čímž se flip-flopu přidá hodinová synchronizace a vznikne tak tzv. „Clocked SR Flip-flop“. Gated Bistable SR Flip-flop tedy funguje jako standardní bistabilní západka, ale výstupy jsou aktivovány pouze tehdy, když je na jeho vstup EN přivedena logická „1“, a deaktivovány logickou „0“.
V příštím kurzu o sekvenčních logických obvodech se podíváme na další typ jednoduchého flip-flopu spouštěného hranami, který je velmi podobný flip-flopu RS a nazývá se JK Flip-flop, pojmenovaný po svém vynálezci Jacku Kilbym. JK flip-flop je nejpoužívanější ze všech flip-flop konstrukcí, protože je považován za univerzální zařízení.