Sekvenční logické obvody
Skládají se ze dvou částí – kombinační a paměťové. Hodnoty výstupu jsou funkcí současných i minulých hodnot vstupu. Mají zpětnou vazbu. Pamatují sí vnitřní (současný) stav (present state).
Kombinační část
Dva přístupy k návrhu sekvenčních obvodů:
1) Mealyho – výstup je závislý na vstupních i vnitřních proměnných
2) Moorův – výstup je přímým obrazem stavu vntřních proměnných
Asynchronní
1) Fundamentální mód činnosti:
- Vstupní proměnné musí být stabilní po jistou dobu. V jednom okamžiku se může měnit hodnota pouze na jednom vstupu, a musí se počkat na ustálení zpětných vazeb.
2) Pulsní režim:
- Vstupní proměnné jsou aktivní jen po dobu pulsu. Jen jeden puls může být aktivován na vstupu v daný okamžik.
Synchronní
Činnost je řízená tzv. hodinovými signály.
Paměťová část
Tvořena kombinačním obvodem, ve kterém byla zavedena zpětná vazba – bistabilní klopný obvod. Bere informaci ze vstupu a uchovává ji, i když vstupní informace zmizí.
Klopné obvody
Přepínají se mezi dvěmi stavy.
Astabilní
Mezi stavy se překlápí sám. Generuje tzv. periodický obdélníkový signál.
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áčí.
Monostabilní
Má jeden stabilní stav, pro přechod do druhého je potřeba jej nakopnout, po čase se zase vrátí zpět do stabilního stavu.
Bistabilní (Flip-Flop)
Má oba stavy stabilní, pro přechod je potřeba do něj kopnout vždy. Lze jej tedy použít jako jednoduchou paměť.
RS (Reset / Set)
R | S | Akce | Q | Qnext |
---|---|---|---|---|
0 | 0 | Ponechá stav | Qprev | Q |
0 | 1 | Set | 0 | 1 |
1 | 0 | Reset | 1 | 0 |
1 | 1 | Nedefinovaný stav |
T (Toggle)
T | Q | Akce | Qnext |
---|---|---|---|
0 | 0 | Ponechá stav | 0 |
0 | 1 | Ponechá stav | 1 |
1 | 0 | Přepnutí | 0 |
1 | 1 | Přepnutí | 0 |
JK
Kombinace RS a T klopného obvodu – odstraňuje nedefinovaný stav u RS, při kterém se chová jako T klopný obvod.
T | K | Akce | Qnext |
---|---|---|---|
0 | 0 | Ponechá stav | Qprev |
0 | 1 | Reset | 0 |
1 | 0 | Set | 1 |
1 | 1 | Přepnutí | !Qprev |
D
Data – pokud má při impulzu hodin vstup D hodnotu 1, nastaví se stav klopného obvodu na 1. Totéž pro hodnotu 0. Bez impulzu hodin stav vstup D ignoruje a pamatuje si předchozí stav.
Hodiny | D | Q |
---|---|---|
1 | 0 | 0 |
1 | 1 | 1 |
0 | Qprev |
Čítače
Ř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í.
K implementaci lze použít i JK klopné obvody.
Registry
D klopné obvody se společnými hodinami.
- Paralelní – paralelně zapojené
- Posuvný – za sebou zapojené. Při zapojení posledního negovaného výstupu na první vstup dostaneme čítač.
Stavové automaty
Sekvenční automat je šestice kde:
- je vstupní abeceda (množina hodnot vstupního vektoru)
- je výstupní abeceda (množina hodnot výstupního vektoru)
- je vnitřní abeceda (množina hodnot vektoru vnitřního stavu)
- je podmnožinou Q, je to počáteční stav, ze kterého se vždy startuje
- je přechodová funkce, která některým dvojicím z přirazuje prvek z a platí , pro
- je výstupní funkce, která některým dvojicím z přirazuje prvek z .
Reprezentují se pomocí pravdivostních tabulek nebo grafů přechodů.
V programovacích jazycích se implementují pomocí switch
a cyklů while
, for
.