Sekvenční logické obvody
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