Zaprojektować licznik synchroniczny na przerzutnikach D modulo n, gdzie n wynosi 4, 5 lub 6, w zależności
od bitów c1c2, jak podano poniżej
c1c2 modulo
00
4
01
5
10
6
Niech c4= c c , c
c c , c
c c
1
2
5=
1 2
6=
1
2
Tabele przejść dla układu zrealizowanego na przerzutnikach D będą wyglądały następująco: d2d1d0 mod 4: d2d1d0 mod 5: d2d1d0 mod 6: d2d1d0
0 0 0
0 0 1
0 0 1
0 0 1
0 0 1
0 1 0
0 1 0
0 1 0
0 1 0
0 1 1
0 1 1
0 1 1
0 1 1
0 0 0
1 0 0
1 0 0
1 0 0
0 – –
0 0 0
1 0 1
1 0 1
0 – –
0 – –
0 0 0
1 1 0
0 – –
0 – –
0 – –
1 1 1
0 – –
0 – –
0 – –
Z tabel przejść można odczytać że:
d2= d d d c + d d d c
2
1
0
4
2
1
0 6
d1= d ⊕ d ⋅ d d
1
0
2
1
d0= d + c d
0
2
2
Zaprojektować układ sterowania załączeniem trzech urządzeń, umożliwiający załączanie i wyłączanie po
jednym urządzeniu na minutę. Wejściem układu jest zadawana ilość urządzeń która docelowo ma pracować,
sygnał zegara (minutowego), natomiast wyjściem układu jest ilość urządzeń która w danej minucie ma być
włączona.
Dla przykładu, jeśli wszystkie urządzenia są wyłączone (ilość załączonych wynosi 0), a na wejściu układu pojawi się liczba 3 (trzy urządzenia należy włączyć), układ będzie co minutę włączał po jednym urządzeniu.
Następnie jeśli zadana ilość pracujących urządzeń zostanie zmniejszona do 1, układ zmniejszy w pierwszej minucie ilość pracujących urządzeń do 2, a w kolejnej do 1.
Z treści zadania wynika, że układ musi pamiętać ile urządzeń jest obecnie włączonych – 0, 1, 2 lub 3. Liczba 3
zmieści się na dwóch bitach (dwóch elementach pamięci – przerzutnikach).
Graf pracy układu można przedstawić następująco:
1,2,3
2,3
3
0
1
2
3
0
0,1
0,1,2
0
1
2
3
W kółkach znajduje się bieżący stan układu, tożsamy z wyjściem układu (ilość włączonych urządzeń), natomiast warunki przejść pomiędzy stanami to ilość urządzeń które docelowo mają zostać włączone.
Tabela przejść układu będzie wyglądała następująco (s1s0 to stan układu, a c1c0 to zadana ilość urządzeń): s
(t+1)
1s0 c1c0 s1s0
00 00
00
00 01
01
00 10
01
00 11
01
01 00
00
01 01
01
01 10
10
01 11
10
Układy sekwencyjne - przykłady
1/4
10 00
01
10 01
01
10 10
10
10 11
11
11 00
10
11 01
10
11 10
10
11 11
11
Powyższa tabela przejść koresponduje z grafem pracy układu.
Aby wyznaczyć s1 użyta zostanie metoda Quinne’a-McCluskey’a: 0110 011– –11–
1010
101–
1– 1–
1100
1–10
11– –
0111
110–
1011
11–0
1101
–111
1110
1–11
1111
11–1
111–
s1 = s0c1 + s1c1 + s1s0
Dla wyznaczenia s0 użyta zostanie metoda tabeli Karnough: c1c0
00 01 11 10
s1s0
00 0 1 1 1
01 0 1 0 0
11 0 0 1 0
10 1 1 1 0
s0= s ( c ⊕ s ) + c ( c ⊗ s ) 0
1
1
0
1
1
Schemat układu:
Układy sekwencyjne - przykłady
2/4
Zaprojektować licznik 4-bitowy z dwoma przeciwbieżnymi pętlami jak na poniższym grafie. Kolejne stopnie
(licząc od najbardziej znaczącego bitu) zrealizować na przerzutnikach: D, T, JK i D.
0
1
2
3
4
10
11
12
13
14
15
9
8
7
6
5
Tabela przejść licznika będzie następująca
nt dcbat nt+1 dcbat+1
0 0000
1 0001
1 0001
2 0010
2 0010
3 0011
3 0011
4 0100
4 0100
5 0101
5 0101
6 0110
6 0110
7 0111
7 0111
8 1000
8 1000
9 1001
9 1001
0 0000
10 1010 15 1111
11 1011 10 1010
12 1100 11 1011
13 1101 12 1100
14 1110 13 1101
15 1111 14 1110
Zgodnie z treścią zadania, najstarszy stopień licznika ma zostać zrealizowany na przerzutniku D. Funkcja logiczna podana na jego wejście sterujące będzie miała realizować dt+1 (stan Qt+1 przerzutnika zależy tylko od wejścia D, nie zależy od stanu poprzedniego Qt – w naszym przypadku dt). Tabela Karnough będzie wyglądać następująco:
ba
Dd
00 01 11 10
00 0 0 0 0
01 0 0 1 0
dc 11 1 1 1 1
10 1 0 1 1
Dd = cd + bd + d
a + abc
Kolejny stopień ma zostać zrealizowany na przerzutniku T. Zgodnie z zasadą działania tego przerzutnika, wyjście zmienia swój stan, gdy na wejściu T podana jest 1, a nie zmienia stanu gdy na wejściu T podane jest 0.
Zatem analizując stany kolumn ct i ct+1 tabeli przejść licznika, dochodzimy do następującej tabeli Karnough określającej funkcję logiczną którą należy podać na wejście T przerzutnika: ba
Tc
00 01 11 10
00 0 0 1 0
01 0 0 1 0
dc 11 1 0 0 0
10 0 0 0 1
Tc = dab + d a( c ⊕ b) Przedostatni stopień ma zostać zrealizowany na przerzutniku JK. Uwzględniając, że tabela przejść tego typu przerzutnika jest następująca:
JK Qt
Qt+1
0 – 0
0
1 – 0
1
– 1 1
0
– 0 1
1
Układy sekwencyjne - przykłady
3/4
postępując podobnie jak dla poprzednich stopni, dochodzimy do poniższej tabeli Karnough funkcji Jb i Kb: ba
Jb Kb 00 01 11 10
00 0– 1– –1 –0
01 0– 1– –1 –0
dc 11 1– 0– –0 –1
10 0– 0– –0 –0
Jb = Kb = ad + d
a c
Dla stopnia najmłodszego bitu, realizowanego na przerzutniku D, można zauważyć że a
= a , dlatego
t +1
t
Da = a
Uwaga: przerzutnik JK musi być zwykłym przerzutnikiem, nie przerzutnikiem typu JK-MS. Ponieważ w programie DigitalWorks zaimplementowany jest przerzutnik JK-MS, należy zrobić swoje makro przerzutnika JK.
Układy sekwencyjne - przykłady
4/4