Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

1

Sekvenční logické obvody


.
Výstupní proměnné jsou určeny:
• Kombinací hodnost vstupů
• Minulými hodnotami výstupu
sekvenční obvod si musí pamatovat hodnoty
z předchozího stavu – zajistí paměť v ZV ke
kombinačnímu obvodu.

Základ sekvenčních obvodů:


Klopné obvody (KO). Z nich se konstruují:
• Čítače
• Registry
• Paměťové obvody
• Jiné

Princip KO
Má dva stavy. Překlopí se do stavu 1 nebo 0 ten drží, dokud nepřijde podnět změny na
vstupu.

Druhy KO:
Synchronní: jsou řízeny hodinovými pulzy. Reagují na jejich náběžnou či sestupnou hranu.
Výstup trvá 1 periodu
Asynchronní: Reagují okamžitě po změně vstupu. Výstup trvá do změny vstupních hodnot.

Typy KO
• RS (Reset, Set = nastavení 1 a odnastavení 1)
• D (Delay - pozdržení)
• JK jedno a dvoufázový (Jump-Kill“, tedy „nahoď-zruš“, vynálezce Jack Kilby)
• T (Toggle - přepínač)

Realizace KO – vhodné propojení hradel

Klopný obvod RS - asynchronní


Realizuje se z NAND nebo NOR
2

RS – NOR

Vstupy: R,S * Výstupy Q, Q * Obvod je ve stavu Reset (Q=0)

Funkce a princip RS
Nastavení stavu Reset (viz obr)
• Vstupy: R=1, S=0 výstup: Q = 1 ⇒ Q = 0
Předpoklad – obvod byl ve stavu SET Q = 1, Q = 0

• Horní obvod realizuje: Q = Q + R = 0 + 1 = 0


• Dolní obvod realizuje: Q = Q + S = 0 + 0 = 1
Předpoklad – obvod byl ve stavu RESET Q = 0, Q = 1

• Horní obvod realizuje: Q = Q + R = 1 + 1 = 0


• Dolní obvod realizuje: Q = Q + S = 0 + 0 = 1
Obecně (neznáme minulý stav)
• Horní obvod realizuje: Q = Q + R = Q + 1 = 1 = 0 (agresivita 1)
• Dolní obvod realizuje: Q = Q + S = 0 + 0 = 0 = 1 (horní obvod zajistí vždy 0)
Tedy horní obvod se nastaví vždy 0 a dolní se přizpůsobí hornímu.
Horní obvod se vždy překlopí do stavu Q = 0 ⇒ Q = 1 bez ohledu na minulý stav.
To vyplývá i z pravdivostní tabulky NOR je-li R=1 musí být výstup horního obvodu 0 bez
ohledu na druhý vstup. Viz zakroužkované jedničky v X1 tabulky NOR.

Nastavení do stavu: SET (S=1)


Vstupy: R=0, S=1 výstup: Q = 1 ⇒ Q = 0
Obecně (neznáme minulý stav)
• Dolní obvod realizuje: Q = Q + S = Q + 1 = 1 = 0 (agresivita 1)
• Horní obvod realizuje: Q = Q + R = 1 + 0 = 0 = 1 (dolní obvod zajistí vždy 0)
Obvody si funkce vyměnily – dolní se nastaví vždy na 0 a horní se mu přizpůsobí. Viz
pravdivostní tabulka NOR zakroužkované vstupy X0.
Neutrální stav: R=0, S=0
• Horní obvod realizuje: Q = Q + R = Q + 0 = Q = Q (neutrálnost 0)
• Dolní obvod realizuje: Q = Q + S = Q + 0 = Q (neutrálnost 0)
Výstup zachovává předchozí stav
3

Hazardní stav – zakázaný stav R=1, S=1


Obecně (neznáme minulý stav)
• Horní obvod realizuje: Q = Q + 1 = Q + 1 = 1 = 0 (agresivita 1)
• Dolní obvod realizuje: Q = Q + S = Q + 1 = 1 = 0 (agresivita 1)
První spor – stejné výstupy, není dodrženo Q, Q
Pokud by ale po stavu R=S=1 nastal neutrální stav R=S=1 při podivném předpokladu
Q = Q = 0 , pak

• Horní obvod realizuje: Q = Q + R = 0 + 0 = 0 = 1


• Dolní obvod realizuje: Q = Q + S = 0 + 0 = 0 = 1
oba obvody se snaží dostat do stavu logické 1, obě hradla kmitají. Oba ostatní následné
stavy vstupů nevadí:
1. SET R=0,S=1
o Horní obvod realizuje: Q = Q + R = 0 + 0 = 0 = 1
o Dolní obvod realizuje: Q = Q + S = 0 + 1 = 1 = 0
2. RESET R=0,S=1
o Horní obvod realizuje: Q = Q + R = 0 + 1 = 1 = 0
o Dolní obvod realizuje: Q = Q + S = 0 + 0 = 0 = 1

Závěr: Hazardní stav nesmí nastat!

Odvození výstupních funkcí a blokace havarijního stavu


=Q + S
Q = Q + R Q → Q = Q + S + R de
_  → Q = Q + S ∗ R = R ( S + Q )
Morgan

Odtud plyne jiná realizace RS KO


Zakázaný stav pro tento obvod R=1,S=1
Q = R ( S + Q ) = 0 (1 + Q ) = 0
Q = 0 =1

transformace na stav RESET


Neutrální stav pro tento obvod R=0, S=0
Q = R( S + Q) = 1(0 + Q) = Q
Q
zůstává zachován
RS – NAND
4

Stav RESET R=1,S=0


• Horní obvod Q = R * Q = 1 * Q = Q (neraguje)
• Dolní obvod Q = S * Q = 0 * Q = 1 (vždy 1)
Dolní obvod se překlopí do 1 horní obvod se nastaví do 0
Stav SET R=1,S=1
• Horní obvod Q = R * Q = 0 * Q = 1 (vždy 1)
• Dolní obvod Q = S * Q = 1 * Q = Q (neraguje)
Horní obvod se překlopí do 1 dolní obvod se nastaví do 0
Neutrální stav R=1, S=1
• Horní obvod Q = R * Q = 1 * Q = Q
• Dolní obvod Q = S * Q = 1 * Q = Q
Ani jeden z obvodů se nepřeklopí
Zakázaný stav R=0, S=0
• Horní obvod Q = R * Q = 0 * Q = 1
• Dolní obvod Q = S * Q = 0 * Q = 1
První spor – stejné výstupy, není dodrženo Q, Q
Pokud by ale po stavu R=S=0 nastal neutrální stav R=S=1 při podivném předpokladu
Q = Q = 1 , pak

• Horní obvod realizuje: Q = Q * R = 1 *1 = 1 = 0


• Dolní obvod realizuje: Q = Q * S = 1 + 1 = 1 = 0
oba obvody se snaží dostat do stavu logické 0, obě hradla kmitají. Oba ostatní následné
stavy vstupů nevadí:
3. SET R=0,S=1
o Horní obvod realizuje: Q = Q * R = 1 * 0 = 0 = 1
o Dolní obvod realizuje: Q = Q * S = 1 * 1 = 1 = 0
4. RESET R=1,S=0
o Horní obvod realizuje: Q = Q * R = 1 *1 = 1 = 0
o Dolní obvod realizuje: Q = Q + S = 1 + 0 = 0 = 1
Závěr: Hazardní stav nesmí nastat! Oproti realizaci z NOR je otočen neutrální a zakázaný
stav.

Odvození výstupních funkcí a blokace havarijního stavu


=Q*S
Q = Q * R Q→ Q = Q ∗ S + R de
_  → Q = QS ∗ R = RQS
Morgan

Odtud plyne jiná realizace RS KO


Zakázaný stav pro tento obvod R=0,S=0
Q = RSQ = 1 * 0 * Q = 0
Q = 0 =1

transformace na stav RESET


5

Neutrální stav pro tento obvod R=1, S=1


Q = RSQ = 0 * 1 * Q = Q
Q
zůstává zachován

Synchronní klopný obvod RS

Doplníme-li KO RS z NAND dvěma členy NAND, do nichž vstupuje hodinový signál C


(popsaný výše) pak:
• Je-li C=0 Sc = S * 0 = 1 Rc = R * 0 = 1 neutrální stav, obvod nereaguje na
změny R a S
• Je-li C=1 S c = S *1 = S Rc = R *1 = R způsobí překlopení podle hodnot R
a S, tedy stav RESET (R=1,S=0) nebo stav SET (R=0,S=1).
• KO reaguje jen v době C=1, tedy v době příchodu hodinového pulzu – náběžná hrana.
Vstupy RS jsou prohozeny!
Řízení hodinovými pulzy, invertuje zakázaný stav na R=1 a S=1 (S=R=0 je neutrální)
Poznámka: KO RS z NOR by neměl prohozené RS vstupy a místo hradel NAND by byl synchronizován hradly
AND. Neměl by invertován zakázaný stav.

Použití RS: vnitřní obvod ostatních typů

Klopný obvod D (synchronní)


Ze vstupu R vytvoříme vstup S jeho negací. Obvod má jeden vstup označený D. Vyloučí se
tak zakázaný, ale i neutrální stav. Používá se výhradně v synchronní verzi.
6

Obvod má paměť jednoho bitu. Používá se v registrech. Reaguje na náběžnou hranu C - pulzu

Klopný obvod JK (synchronní)


Jedná se o zdokonalený KO RS, který nemá zakázaný stav.

Onačení indexů u výstupů


Q K , Q K - značí stav před příchodem příslušného vstupu
Q K +1 , Q K +1 – stav po reakci obvodu na vstup
J1 K1 S R Qk+1 Qk +1 Komentář
Ř Qk Qk J KC J1 = Qk * J K1 = Q k * K S = J1 * C (Vstup
R = K1 * C Qk +1 = S * Q k Qk +1 = Qk * R Výstup)
Jamp, C=0
1 Qk Qk 1 0 0 Qk 0 1 1 Qk Qk Stejné
Kill, C=0
2 Qk Qk 0 1 0 0 Qk 1 1 Qk Qk Stejné
J=K,C=0
3 Qk Qk A A0 Qk A Qk * K 1 1 Qk Qk Stejné
Jamp, C=1
4 Qk Qk 1 0 1 Qk 0 0 1 1 0 Vždy Q=1
Kill C=1
5 Qk Qk 0 1 1 0 Qk 1 0 0 1 Vždy Q=0
6 Qk Qk 0 0 1 0 0 1 1 Qk Qk Neutrální stav
Stav S = R C=1
Qk Qk 1 1 1 Qk Qk Qk Qk Qk Qk S=1,R=0 * S=0, R=1

7 0 1 1 1 1 1 0 0 1 1 0 J=K=1 * J=K=0
Přepne vždy
1 0 1 1 1 0 1 1 0 0 1 Agresivní stav
Z tabulky vyplývá:
• Obvod se překlápí pouze při příchodu hodinového pulzu C=1
• Obvod má neutrální stav při rovnostech vstupů J=K=0
• Obvod nemá zakázaný stav. Původní zakázaný stav se transformuje na vždy
přepínací, nebo-li agresivní stav – viz 7. řádek
• Stav JUMP (SET): J=1, K=0 překlápí obvod do stavu SET Q=1, Qk = 0 tedy J
„jedničkuje”
• Stav KILL (RESET): J=0, K=1 překlápí obvod do stavu RESET Q=0, Qk = 1 tedy K
„nuluje”
• Obvod reaguje na náběžnou hranu hodinového pulzu
• Poznámka: v tabulce bylo použito vzorců Booleovy algebry
o Agresivita nuly 0*A=0
o Neutrality jedničky 1*A=1
o Vztahu A * A = 0
o Dvojité negace a substituce
7

Obvod JK reaguje na náběžnou hranu hodinového pulzu

Klopný obvod T
Tak jako spojením vstupů RS vznikl klopný obvod D spojením vstupů JK u obnodu JK. Tedy
využívá sec pouze neutrálního a agresivního stavu (k přepnutí) obvodu JK.
• T=1 přepnutí (agresivní stav)
• T=0 zachovává stav (neutrální stav)
Použití: čítače. Reaguje na náběžnou hranu pulzu

Dvoufázové obvody
Dosud popisované KO byly jednofázové (jednostupňové). Pokud je tento obvod synchronní,
může změnit stav kdykoliv během trvání hodinového pulzu (C=1). V této době výstup reaguje
na jakoukoliv změnu vstupu.
Aby se KO během periody C=1 změnil 1X používá se dvoufázových obvodů (Master – Slave,
sluha a pán)

KO JK dvoufázový
Na rozdíl od jednofázových reagují na sestupnou hranu pulzu. A během periody C=0 se už
nemění, i když se změní vstup.
8

KO MASTER: reaguje na náběžnou hranu a během C=1 se ještě změnit stav. Pracuje ve
všech režimech JK obvodu. Zapíše se do něj požadovaný výstup podle stavu JM,KM.
KO SLAVE: Obvod NOT neguje hodinový pulz, takže KO a reaguje na náběžnou hranu C ,
což je sestupná hrana C. Sestupná hrana tedy předá informaci dál. Díky propojení
J S = QMk K S = QMk pracuje obvod SLAVE pouze ve dvou stavech (neutrální a agresivní
stav jsou vyloučeny). Oba jsou přepínací, je-li obvod ve druhém stavu.
• JUMP J=1 a K=0 Qn+1=1 tedy QM=JS=1 QS=1
• KILL J=0, K=1 Qn+1=0 tedy QM=JS=0 QS=0

Po dobu trvání C=0 je obvod MASTER blokován, takže nemůže dojít ke změně QM QM Tím
pádem ani JS a KS. Proto je okamžik zápisu pouze sestupná hrana pulzu. Obvod MASTER se
odblokuje až na C=1, ale v tu dobu je zase zablokován obvod SLAVE. To že Výstup
MASTER se může měnit po celou dobu C=1 nevadí. Do SLAVE se zapíše hodnota MASTER
v okamžiku sestupné hrany pulzu.

Paměťové registry
Jsou sekvenční registry, které umožňují zachování informace. Vznikne spojením několika
KO. Počet KO určuje počet bitů uchované informace a délku registru.
Rozdělení:
• Paralelní
• Sériový
• Posuvný
• Kruhový

Paralelní registr

Je složen ze 4 KO D. Ty jsou svázány společným řízením. Při C=1 se informace daná slovem
A0A1A2A3 zapíše do registru. Během druhé periody pulzu je přístupná a další půlperioda C=1
informaci opět přepíše. Použití: například zpoždění informace o určitý počet taktů.
Paralelní být taktován jinou frekvencí než návazné obvody. Rozdílová frekvence pak určuje
dobu zpoždění.
9

Sériový registr (posuvný)

Přečteno
C=1 KO1 KO2 KO3 KO4 návazným
obvodem

1. pulz A0k A0k-1 A1k-1 A2k-1 A3k-1


2. pulz A1k A0k A0k-1 A1k-1 A2k-1
3. pulz A2k A1k A0k A0k-1 A1k-1
4. pulz A3k A2k A1k A0k A0k-1
5. pulz A0k+1 A3k A2k A1k A0k
6. pulz A1k+1 A0k+1 A3k A2k A1k
7. pulz A2k+1 A1k+1 A0k+1 A3k A2k
8. pulz A3k+1 A2k+1 A1k+1 A0k+1 A3k

Jedná se o půlbitový sériový posuvný registr. Na čtyři pulzy se informace načte do registru a
zároveň odejde dál. Mezi načtením a výstupem může následovat několik taktů C=0, v té době
informace drží.
Jak vidět v tabulce, na každý pulz se informace posouvá o 1 KO. Index k značí pořadí pulzu
C=1.

Sériový registr lze realizovat z JK KO

Kruhový registr
Propojíme-li u sériového registru počátek s koncem, kopíruje se na 5. hodinový pulz
informace zpět ze 4. do 1. KO. Data rotují v kruhu.
10

Výstup z libovolného KO má kmitočet ¼ frekvence hodinového pulzu (4 KO). Obecně platí,


že je to dělič kmitočtu podle počtu KO.

Řízení posuvného registru

Vlastní vstup do registru je kontrolován funkcí: C = A + B = P * CT + P * D


• Zápis P=1 C = P * D = 1* D = D do registru vstupují data, registr se naplní za 8 pulzů.
• Čtení P=0 C = P * CT = 1* CT = CT data se postupně vysunují ven (na 1 pulz 1 bit) a
kolují díky ZV. Za 8 pulzů je stav registru stejný jako před zahájením čtení. Při čtení
funguje kruhový registr

Kombinované registry
Používá se přídavných členů, které zabezpečí řízení činnosti registrů
Jednosměrné registry : Posun informace je buď zleva doprava, nebo zprava doleva.
Příklad: zleva do prava: viz předchozí
Obousměrné registry: Lze řídit posun zleva doprava či zprava doleva
Kombinované registry: Lze řídit zda bude sériový či pralelní

Univerzální - obousměrné kombinované


Lze řídit, jaký bodou mít vstup a výstup (SP, PS, SS, PP). Lze řídit směr posunu (zleva do
prava a opak)
11

Paralelnost registru N=1. Využívá se toho, že je-li na klopném obvodu R nebo S rovno 1,
pak se blokuje vstup D a o obvod se nastaví podle RS vstupů.
• Stav SET: S = 1 → Q = 1
• Stav RESET: R = 1 → Q = 0
Všimněte si, že řídící vstupy RS jsou negované (negovací kolečka u KO a vstupů RS)
Poznámka: Základem jakéhokoliv KO je KO RS, vededeme tedy jeho vstupy

Vyjádření funkcí na vstupech Ri a Si


• Stav SET (Qi=1): vstup Si=1: S i = N * PVi S i = N * PVi

• Stav RESET (Qi=0): vstup Ri=1: Ri = S 0 * N Ri = S 0 * N


Je-li příslušný paralelní vstup
• PVi=1 (N=1) pak
o Si=1*1=1 Qi=1=PVi
o Ri=0*1=0
• PVi=0 (N=1) pak R
o Si=1*0=0
o Ri=1*1=1 Qi=0=PVi
Tedy klopné obvody se nastaví podle hodnoty paralelního vstupu PVi

Zablokování paralelního vstupu N=0


Si = N * PVi = 0 * PVi = 0
Ri = Si * N = 1* 0 = 0
KO jsou řízeny D vstupem

Sérivost registru: N=0 KO řízen přímo vstupem D


Vyjádření funkcí na vstupech Di
• X0: X 0 = SVP ∗ SM Sériový vstup vpřed, Směr
• X1-3: X i = Qi −1 ∗ SM Výstup předchozího KO, Směr
• Y0-2: Yi = Qi +1 ∗ SM Výstup následujícího KO, negovaný směr
• Y4: Y4 = SVZ ∗ SM Sériový vstup vzad, negovaný směr
• Di: Di = X i ∗ Yi
Uvažujeme-li substituci: „A⇒” je SVP nebo Qi-1 * „B⇐“ je SVZ nebo Qi+1 pak:
Směr→: SM=1 pak X i = A⇒ ∗ 1 = A⇒ Yi = B⇐ ∗ 0 = 1 Di = A⇒ ∗ 1 = A⇒
Směr ←: SM=0 pak X i = B⇐ ∗ 1 = B⇐ Yi = A⇒ * 0 = 1 Di = B ⇐ * 1 = B ⇐
U KO typu D se podle hodnoty vstupu D nastaví Q, takže Qi se nastaví podle hodnoty A⇒
respektive B⇐.

Paralelní výstup se může a nemusí odebírat. Není třeba ho nijak řídit. Odebírá se přímo z KO.
Registr reaguje na náběžnou hranu pulzu (Posuv)
12

Tabulka obsluhy
Typ registru N SM Vstup dat Odběr dat Poznámka
Sériový – doleva (SL) 0 0 SVZ SvýZ 4/4 pulzy P
Sériový – doprava (SP) 0 1 SVP SvýP 4/4 pulzy P
Paralelní 1 X PVi PVýi 1/0 pulzů P
1 X PVi 1 pulz – změna řízení
Vstup paralelní, výstup SL – 4 pulzy
0 0 SvýZ
1 X PVi 1 pulz – změna řízení
Vstup paralelní, výstup SP – 4 pulzy
0 1 SvýP
Vstup SL, výstup paralelní 0 0 SVZ PVýi 4/0 pulzů P
Vstup SP, výstup paralelní 0 1 SVP PVýi 4/0 pulzů P

Poznámka
Pokud bychom ve schématu propojili SVZ a SVýZ (SVP a SVýP), můžeme univerzální
registr nastavit i jako kruhový. Následují je pro pohyb doprava N=0, SM=1. (Pro pohyb vlevo
by bylo SM=0)

Kruh – nastavení zda bude kruhový nebo ne


SVZskut – vstup pro nekruhový
x,y: Y = SVZ skut ∗ kruh X = SvýZ * kruh
SVZ vstup do registru SVZ = y * x
Kruh=1: Y = SvýZ ∗1 = SvýZ X = SVZskut * 0 = 0 SVZ = SvýZ *1 = SvýZ
Kruh=0: Y = SvýZ ∗ 0 = 0 X = SVZ skut *1 = SVZ skut SVZ = SVZ skut * 1 = SVZ skut

Použití posuvných registrů


• Sériově-paralelní převodník: Sériovým vstupem a posunem se nahrají sériová data do
registrů a paralelně se přečtou
• Paralelně-sériový převodník: Do registru se nahrají paralelní data a posunem se vyšlou
přes sériový výstup
• Řadič: kruhový posun informace v registru
• Vyrovnávací paměť: uchovává data bez posuvu
• Zpožďovací členy: Výstup z posledního KO je oproti vstupu zpožděn o dobu, která je
dána počtem KO jako jako dělitel frekvence (viz kruhový registr).

Příklad použití posuvného registru: Sériová sčítačka


Předpoklad: vstupní registry obsahují sčítaná čísla, výstupní registr obsahuje minulý součet a
klopný obvod 5. bit minulého součtu (viz bod 3 níže)
13

1. První pulz (n=1): S=A0+B0 , klopný obvod: paměť nultého přenosu do vyššího řádu -
Q=P0 * Data v registrech se posunou o 1 bit: A0=A1, A1=A2, A2=A3, do A3 se načítá
nultý bit dalšího sčítaného čísla. Analogicky pro B-registr. Čímž se připraví bity
s váhou 1 pro součet (v dalším pulzu). Výstupní registr: S3=S=A0+B0, S2=S3,
S1=S2,S0=S1. S0 vydává nultý bit první ho čísla a současně se musí přečíst 5. rozšiřující
bit minulého součtu - Q
2. Druhý až 4. pulz (k): S3=Ak-1+Bk-1+Pk-2 * Klopný obvod Q=Pk-1 * Data ve
vstupních registrech se posunou o 1 bit a načte se bit s další váhou dalšího vstupního
čísla. Na výstupu dojde k dalšímu posunu o bit a S0 vydá další bit minulého součtu.
3. Výsledek je uložen po čtyřech pulzech jako 5-ti bitové číslo v takto:
V={Q,S3,S2,S1,S0}, kde Si=Ai+Bi a Q=S4 (rozšiřující bit výsledku). Ve vstupních
registrech jsou připravena další čísla ke sčítání.

Poznámka:
Schéma je zjednodušené. Aby soustava fungovala, musí být činnost synchronizována takto:
1. Přečten výstup: první pulz {Q,S0} a v dalších pulzech {Si}
2. Vytvořen součet a přenos (S, Pn+1)
3. Proveden posun v registrech A,B,S; překlopení KO a načtení vstupu do A3,B3
To zajišťují další synchronizační obvody s využitím reakcí obvodů na náběžnou nebo
sestupnou hranu pulzu.

Čítače impulzů
Jedná se o asynchronní obvod, který počítá impulzy přivedené na jeho vstup, nebo dělí jejich
frekvenci. Zapojují se se z KO JK nebo T.
• Asynchronní čítač: KO se zřetězují. Na KO je agresivní stav. 1. KO je řízen pulzy,
ostatní KO mají na vstupu C připojen Q výstup předchozího obvodu. K překlápění
dochází při každém pulzu, což přináší zpoždění na konci řetězu.
• Synchronní čítač: Hodinový pulz je připojen na všechny KO a hodnotu JK vytváří
kombinační obvody. KO se překlápí současně.

Asynchronní čítač
Obvody pracují v agresivním stavu, takže se překlápí s příchodem každého pulzu.
• První obvod se překlápí ve frekvenci C.
14

• Druhý obvod vynechá 1 pulz C, neboť z každým lichým pulzem je C=1 (1. KO střádá
0,1) dělí kmitočet dvěma
• Třetí KO dělí kmitočet 22=4, čtvrtý 23=8
• Obecně pro n obvodů platí, že poslední obvod dělí kmitočet číslem 2n-1

Čítač na obrázku má do 24=16 stavů, tedy počítá od 0 do 24-1=15, čítač s n klopnými


obvody má n stavů a počítá od 0 do 2n-1.
Používá se převážně obvodů master-slave, které reagují na sestupnou hranu pulzu. Tyto
obvody jsou méně náchylné k chybám.
Tabulka stavů a časový diagram přepínání

• QA přepíná každá sestupná hrana C-pulzu


• QB přepíná sestupná hrana stavu QA (QA 0 1)
• QC přepíná sestupná hrana stavu QB (QB 0 1)
• QD přepíná sestupná hrana stavu QC (QC 0 1)

Nevýhody: vznik zpoždění u vzdálenějších obvodů. Dáno principem – postupné překlápění.


Obtížnější nastavování do vybraného stavu. Řešení: Asynchronní čítač.

Synchronní čítač
Všechny KO se překlápí najednou jedním hodinovým pulzem pomocí agresivního vstupního
stavu Ji=Ki=1.
15

• KO1: překlopí se na každou sestupnou hranu pulzu


• KO2: Překlopí se na sestupnou hranu stavu QA (z 1 0), tj. při každém druhém pulzu
1
(sestupná hrana) – kmitočet je C dělen dvěma (2 =2)
• KO3: J3=K3=ND1=QA*QB.
o Pro QA=QB=1 J3=K3=1 překlopení
o Pro QA=QB=0 J3=K3=0 neutrální stav, QC zůstává
o Pro QA#QB=0 J3=K3=0*1=1*0=1 neutrální stav, QC zůstává
Překlopí se se sestupnou hranou každého 4. pulzu, kdy ND1=1, kmitočet je
dělen 4=22
• KO4: J4=K4=ND2=QA*QB*QC
o Agresivní stav může nastat pouze při rovnosti QA=QB=QC=1
o Bude-li jeden ze vstupů 0 je ND2=0, bez ohledu na hodnoty ostatních
nastává neutrální stav.
Překlopí se na sestupnou hranu každého 8 pulzu, kdy je ND2=2, kmitočet je
dělen 8=23

Z popsaného vyplývá, že se chová jako asynchronní čítač. 5. Obvod by řídil 5-ti vstupový
AND se vstupy QA-QD. Kmitočet by se dělil 16=24 . Obecně n-tý obvod by řídil podobný
AND se vstupy předchozích stavů KO. Kmitočet by se dělil 2n.
Podobně asynchronní čítače počítají číselnou řadu od 0 do 2n-1 (2n hodnot). QA odpovídá
nultému řádu, QD třetímu řádu a QN n-tému řádu.

Nastavitelné čítače z KO T
Vyvedeme-li JK vstupy, pak lze čítač nastavit do libovolného stavu (čísla). Platí, že J=1 K=0
nastaví Q=1 a J=0 K=1 Q=0. Nejčastěji se využívá nulování (0=QA=QB=QC=QD). Na
všechny KO se přivede J=0 a K=1.
Propojením JK vstupů vzniká klopný obvod T. Protože základem jakéhokoliv typu KO je jwe
obvod RS (Reset – nuluj, Set – nastav 1), vyvedou RS RS vstupy vnitřního obvodu podobně
jako u registrů.
16

Asynchronní nastavitelný čítač

Stav čítání:
Ri=0, Si=0, N=0: Klopné obvody jsou řízeny vstupem T, překlápí se pro T=1 a C=1. Pracuje
jako asynchronní čítač.
Od druhého klopného obvodu je překlápění řízeno kombinačním obvodem:
N =0
X i = Qi N Yi = NC 
→ Ci = Qi N + NC → Ci = Qi
Odtud vyplývá, že překlápění je řízeno skutečně stavem předchozího klopného obvodu

Stav nastavování
N=1 a na jednotlivá RiSi přivedeme požadovanou hodnotu:
• Qi=1 Ri=0, Si=1 (stav SET)
• Qi=0 Ri=1, Si=0 (stav RESET)
Nastavování pomocí RS vstupů má přednost před vstupem T. Obvody se nastaví následujícím
hodinovým pulzem C=1:
N =1
Ci = Qi N + NC →
 Ci = C

Příznak nastavení N se tvoří obvodem OR. K nastavení dochází pouze tehdy, je-li alespoň
jediné z Ri=1 nebo z Si=1. Pak musí být N=1. Pokud čítač čítá, platí pro všechna i Ri=Si=0,
pak i N=0.

Synchronní nastavitelný čítač


17

Vstupy Ri, Si mají přednost před vstupem T, je-li z nich 1. KO se překlápí naráz hodinový
pulzem. Při příchodu pulzu:
Stav čítání: Ri=0, Si=0, KO se překlápí je-li Ti=1 (Qi-1=1)
Stav nastavení: Ri=1 (Si=0) nebo Si=1 (Ri =0), KO se nastaví na požadovanou hodnotu dle
RiSi

Čítače se značí podle počtu čítaných bitů, tedy podle počtu KO. Naše čítače odpovídali čítači
modulo 4 počítá do 24=16, od 0 do 24-1=15 v binárním kódu. Má 4 KO.
Čítač modulo N: n stavů a klopných obvodů, <0;2n-1>.

Příklad použití čítače – digitální hodinky


Tento příklad si vysvětlíme na synchronním čítači z KO typu T. U asynchronního by to stejné.
Hodiny, minuty a sekundy realizujeme čítači. Na výstupy čítačů zapojíme dekodér 1 z n
podle modula čítače, jeho výstup přivedeme přes kombinační obvod na display, který zobrazí
požadované číslo.
1. Sekundy jsou v intervalu <0,59>. Můžeme je realizovat čítačem modulo 6 (26=64).
V okamžiku nastavení do binární hodnoty 5910 nastaví ZV kombinační obvod příznak
nulování. Ten se přivede do RiSi vstupů a dalším pulzem se tak nastaví stav {00000}2
místo 6010. Zároveň pošleme hodinový pulz do čítače minut.
2. Minuty jsou ve stejném intervalu hodnot – čítač modulo 6 nulovaný v okamžiku stavu
6010 a zároveň se posílá pulz do čítače hodin.
3. Hodiny: interval hodnot <0,23>. Čítač modulo 5 (25=32) nulovaný v okamžiku stavu
2410.
4. Dělič frekvence. Takovýto čítačový řetězec by fungoval při taktovací frekvenci
hodinového pulzu 1 Hz. Běžná taktovací frekvence počítačů je přibližně 2Ghz.
Desítkové číslo 2*109 realizuje čítač modulo 31 s maximálním číslem 2 147 483 647
(231-1) a 231 stavů tj. 2 147 483 648. Velké číslo 2*109 bychom museli převézt do
dvojkové soustavy a překlopení do tohoto stavu čítač nulovat. Pro zjednodušení,
abychom nemuseli velikánské číslo převádět do dvojkové soustavy použijeme
taktovací frekvenci 2,147483648Ghz, která odpovídá počtu stavů čítače modulo 31.
Těmto pravidlům odpovídá blokové schéma obvodu – další stránka. Blokové schéma neřeší
nastavení hodin. Předpokládá spuštění od času 0:00:00. Nastavení by se vyřešilo vyvedením
RS vstupů čítačů minut, hodin a sekund, kam by se přes kodéry nastavila příslušná hodnota.

Popis dalších obvodů ve schématu


Činnost NOR1. Čítač sekund dostává pulz v okamžiku, kdy stav generátoru je 32x0. Jakmile
se na jeho výstupu objeví jediná jednička, musí být C=0. Ve stavu stavu 010 musí být C=1,
což odpovídá negovanému součtu.

Nulovací KO. Princip je všeobecně stejný, vysvětlím na minutách. Do obvodu vstupují


binární reprezentace čísel <0,59>. Nm=0 pro všechna čísla, mimo 5910, Kdy je Nm=1. Hodnotu
Nm přivedeme na R vstupy klopných obvodů čítače minut. Pokud je nulové, obvody se
přepínají vstupem T, v případě R=1 má RESET vstup přednost. Nároveň Nm=1 funguje jako
C=1 pro čítač hodin přepne do dalšího stavu. Přepínání je synchronizováno hradlem ANDs,
18

aby k němu došlo v době, kdy přichází C-pulz na sekundy, kdy se též nulují klopné obvody
čítače minut. Na sekundách ANDs být nemůže, protože jde o základní časování.

Princip dekodérů. Dekodéry analogické pro všechny 3 jednotky času. Vysvětlím na


minutách. Minuty mají 60 různých údajů času v intervalu <0,59>. Každé hodnotě odpovídá
jeden stav dekodéru. Schéma zapojení je analogické dekodéru 1 ze 4 (viz materiály)

Princip kombinačních obvodů pro display.

Opět stejné pro minuty, sekundy i hodiny. Liší je v počtu stavů, kdy hodiny mají 24 stavů,
minuty a sekundy 60 stavů. Každý stav dekodéru rozsvítí na dvou zobrazovacích jednotkách
sedmisegmetového displeje některé diody. Například dvanáctý stav dekodéru, který odpovídá
zobrazení čísla 11, rozsvítí svítivé diody H5,H6,H12 a H13 - viz příkladová tabulka níže.
Každou diodu zase rozsvítí určitá skupina stavů – dioda H10 podle tabulky svítí pro stavy 10
(číslo 09) a 24 (číslo 23). Tyto stavy přivedeme pro danou diodu do hradla OR. Jakmile jeden
z těchto stavů bude 1, hradlo OR pošle 1 na diodu a ta svítí. Například stav 11 přivedeme
podle zkrácené tabulky jen na ORy diod H5,H6,H12 a H13.
19

Pro každý stav se definuje tabulka svícení příslušné diody (zde jen 3 vybrané stavy)
Stav
Hodnota H0 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13
Dek.
10 09 1 1 1 0 1 1 1 1 0 1 1 0 1 1
12 11 0 0 0 0 0 1 1 0 0 0 0 0 1 1
24 23 0 1 1 1 1 1 0 0 0 1 1 1 1 1
Obecný stav Jedničky na diodách, které stav rozsvítí, ostatní nuly
Je-li ve sloupci Hi pro daný stav 1, přivedeme stav na vstup ORu diody Hi. Stavy, které diodu
Hi nerozsvítí, se naopak do hradla OR přivézt nesmějí, jinak by dioda svítila pro všechny
stavy (dekodér 1 z 60).

Zadání semestrální práce


Navrhněte digitální hodiny s přesností sekundy, minuty a hodiny. Frekvence generátoru
4, 294 967 296 GHz. Zpracujte:
1. Blokové schéma hodin podle vzoru, které doplníte nastavením hodin. Princip: Na vstupy
RiSi čítačů pro SEC,MIN a HOD přivedeme výstupy nastavovacího kombinačního obvodu
(NKO), jehož vstupem je čas nastavení (označená krabička jako ostatní bloky ve schématu).
Zároveň se musí přivézt do ANDůs před vstupem do časování čítačů příznak 1, aby první
následující pulz nastavil čítače podle požadavku. V případě, že není požadavek nastavení, je
tento bit roven 0. Před vstupem NKO dokreslete krabičku: „tlačítka zadání nastavení“ a oba
sub-obvody správně propojte. Navrhněte: počet vstupů a výstupů nastavovacího obvodu za
předpokladu, že do NKO vstupuje informace o čase ve dvojkové soustavě. Výstupem je
příznak nastavení a jednotlivá RiSi nastavovaných čítačů. Vše dokreslete do blokového
schématu a označte počty bitů na propojovacích sběrnicích s dodržením pravidel schématu.
2. Navrhněte tyto obvody obsažené v blokovém schématu. Použijte všech typů hradel a
synchronních čítačů z nastavitelných klopných obvodů T.
a. Navrhněte dělič frekvence a popište jeho parametry. Popište a navrhněte parametry
čítačů sekund, minut a hodin. Vyberte jeden ze čtveřice čítačů a rozkreslete ho
detailně a popište indexy vstupy a výstupy KLO.
b. Navrhněte a namalujte schéma dekodéru pro hodiny.
c. Navrhněte a namalujte kombinační obvod pro zobrazení hodin na dvojitém
sedmisegmentovém displeji.
d. Zamyslete se nad možným řešením nastavení času – obvodový blok: tlačítka zadání
nastavení. Navrhněte a popište princip tohoto obvodu a nakreslete k němu část kodéru
s popisem (alespoň 5 výstupních NANDů). Dále navrhněte řešení příznaku nastavení,
který je součástí výstupu NKO v bodě 1.

Termín zadání:
Termín odevzdání: na hodině CIT
Zpracujte ve škole při konzultačních vyhlášených učitelem a doma.
Forma:
• Zkopírované zadání z počítače
• Blokové schéma může být na počítači
• Tabulky návrhů kombinačních obvodů mohou být na počítači
• Dílčí schémata ručně, návrhy a ostatní ručně na papír A4
• Vložit do jediné folie nebo sešít. Případně celkově vložit do podepsaných desek

You might also like