Sekvenční logické obvody

Na rozdíl od kombinačních logických obvodů mají zpětnou vazbu.

Klopné obvody

Mají dva stavy a mezi nimi se přepínají.

Astabilní

Sám se překlápí mezi stavy, generuje periodický obdélníkový signál. Perioda každého stavu je t = ln(2)RC, celková perioda je tedy T = t1 + t2 = ln(2) R2 C1 + ln(2) R3 C2.

Princip: Jeden z tranzistorů má o maličko nižší potřebné napětí na bázi, aby se otevřel. Tzn. na začátku se jeden tranzistor (řekněme Q1) otevře dřív. V tu chvíli se C1 začíná vybíjet a C2 naopak nabíjet. Jakmile se C1 vybije, otočí se na něm polarita a nabíjí se opačným směrem. To způsobí napětí na Q2, který se následně otevře, což zařídí vybíjení C2 a následné uzavření Q1. V tu chvíli se proces se otáčí.

Interaktivní ukázka

Monostabilní

Má jeden stabilní stav, pro přechod do druhého je potřeba jej nakopnout, po čase t = ln(2) R2 C1 se zase vrátí zpět do svého stabilního stavu.

Interaktivní ukázka

Bistabilní

Má oba stavy stabilní, pro přechod je potřeba do něj kopnout vždy. Lze jej tedy použít jako jednoduchou paměť.

Interaktivní ukázka

RS

Reset/Set

R	S	Akce	Q	Qdalší
0	0	Ponechá stav	Qminulý	Q
0	1	Set	0	1
1	0	Reset	1	0
1	1	Nedefinovaný stav

RS klopný obvod se obvykle staví ze dvou NANDů

Interaktivní ukázka

T

Toggle, přepínač. Změna se provede pouze pokud přijde signál hodin!

T	Q	Qdalší	Akce
0	0	0	Ponechá stav
0	1	1	Ponechá stav
1	0	1	Přepnutí
1	1	0	Přepnutí

JK

Kombinace RS a T. Odstraňuje nedefinovaný stav u RS (J = S, K = R) při kterém funguje jako T.

J	K	Qdalší	Akce
0	0	Qminulý	Ponechá stav
0	1	0	Reset
1	0	1	Set
1	1	!Qminulý	Přepnutí

Interaktivní ukázka

D

Data – je-li na D 1, nastaví se při impulzu z hodin na 1, je-li 0, nastaví se na 0. Bez impulzu hodin stav vstup D ignoruje a pamatuje si předchozí stav.

Hodiny	D	Q
1	0	0
1	1	1
0	Qminulý

Interaktivní ukázka

Čítače

Nejjednodušeji je to řada D klopných obvodů které mají vždy svůj invertovaný výstup připojený na svůj vlastní vstup, a jako vstup hodin používají výstup předchozího klopného obvodu (kromě prvního, ten má normální hodinový vstup). Kromě binárního čítače fungují také jako děličky frekvencí.

Interaktivní ukázka

Registry

Paralelní

Nejjednodušší. Paralelně zapojené D KO se společnými hodinami.

Posuvný

Také z D KO se společnými hodinami, ale zapojených za sebe, výstupy vedou na vstupy (kromě prvního), zde také najdeme výstupní bity.

Při zapojení posledního negovaného výstupu na první vstup dostaneme čítač.

Stavové automaty

Sekvenční automat je šestice: A=(X,Y,Q,q0,P,V) kde:

X je vstupní abeceda (množina hodnot vstupního vektoru)

Y je výstupní abeceda (množina hodnot výstupního vektoru)

Q je vnitřní abeceda (množina hodnot vektoru vnitřního stavu)

q0 je podmnožinou Q, je to počáteční stav, ze kterého se vždy startuje

P je přechodová funkce, která některým dvojicím z <m>X * Q</m> přirazuje prvek z Q a platí <m>q_(i+1) = P(x_i,q_i)</m>, pro i = 0,1,2,…,n

V je výstupní funkce, která některým dvojicím z <m>X * Q</m> přirazuje prvek z Y.

Existují dva způsoby definice výstupní funkce: Mealyho a Moorův.

Mealyho automat

Výstup je funkcí vstupu i stavu.

Moorův automat

Výstup je funkcí pouze stavu.

Reprezentace

Pomocí pravdivostních tabulek nebo grafů přechodů.

Implementace

Pro uložení informace o stavu automatu použijeme klopné obvody. Pro generování výstupů použijeme kombinační logické obvody. Pro detaily syntézy těchto obvodů doporučuju projít si slajdy z INC (inc10_syncho.pdf).

V programovacích jazycích se implementují pomocí cyklu a switche.

Shrnutí (na co nezapomenout)

mají zpětnou vazbu (paměť, stav)

klopné obvody: astabilní, monostabilní, bistabilní podle v kolika stavech jsou stabilní

astabilní generuje hodiny, monostabilní krátký impulsy a má jeden vstup, bistabilní má set a reset

všechny tři jsou multivibrátory (přepíná mezi více stavama, prostě je to název)

klopné obvody mají 2 výstupy: normální a invertovaný

RS má nedefinovaný stav (R=1, S=1), staví se ze dvou NANDů

T je přepínač, ke změně dochází jenom při náběžné hraně hodinového signálu

JK je RS, avšak nemá nedefinovaný stav, místo něj ten stav funguje jako T (tj. na vstupu má i hodiny)

D nastaví na výstup to, co je na vstupu s hodinovým impulsem

čítač je řada D klopných obvodů, vstupem je jejich vlastní invertovaný výstup ⇒ delička frekvence (dělí dvěma), jako hodiny používá výstup z předchozího D KO, výstupy reprezentují jednotlivé bity čísla

paralelní registr je několik D KO vedle sebe, posuvný registr je několik D KO zapojených za sebe (lze ho zapojit jako čítač)

stavový automat je typ zapojení, který má několik stavů a může mezi nima přecházet pomocí vstupů - jestli výstup závisí jenom na stavu je to Moorův automat, jestli závisí i na vstupech je to Mealyho automat

automaty se reprezentují pomocí pravdivostních tabulek nebo grafů přechodů, při implementaci se na stavy používají KO, na výstupy kombinační log. obvody (cyklus + switch)

Co je třeba vědět kdyby se zeptali

astabilní KO se nějakou dobu inicializuje/stabilizuje a generuje periodický obdélníkový signál, využívá kondenzátory

monostabilní generuje jeden obdélníkový impuls, odpovídá době vybíjení kondenzátoru

z posuvnýho registru se čítač dělá zapojením posledního invertovaného výstupu na první vstup (dá se tím udělat třeba dělení frekvence deseti)

sekvenční automat je šestice obsahující množinu hodnot vstupů, množinu hodnot výstupů, množinu hodnot stavů, počáteční stav, přechodovou funkci pro změnu stavu, výstupní funkce pro zjištení výstupu