zadania na układy sekwencyjne.pdf

(715 KB) Pobierz
Rozdział 3 Układy sekwencyjne – Zadania
Rozdział 3. Układy sekwencyjne – Zadania
Zadanie 3.1
Zaprojektować układ kombinacyjny o czterech wejściach: A, B, C, D i wyjściu Y opisany
przez tablicę Karnaugh’a:
AB 00 01 11 10 CD
00 0
1
1
0
01 0
1
1
1
11 0
0
0
1
10 1
0
0
0
Zaprojektować układ sekwencyjny o dwóch wejściach: CLK (wejście sygnału zegarowego)
i RST (wejście asynchronicznego ustawiania stanu początkowego licznika - aktywne w stanie
niskim) i trzech wyjściach Q2, Q1, Q0, tak aby przy traktowaniu sygnałów wyjściowych jako
bitów liczby binarnej [Q2 Q1 Q0], układ generował cyklicznie ciąg wartości: 0, 7, 5, 6, 4, 3
Rozwiązanie:
Układ kombinacyjny opisany jest równaniem
Y
=
A
+
BC
D
+
A
( )
+
C
+
D
.
Układ sekwencyjny może być zaprojektowany na wiele różnych sposobów, zależnie
od przyjętych wstępnych założeń projektowych. Poniżej zostanie zaprezentowane kilka z tych
sposobów. W pierwszym przypadku zasadniczym elementem pamiętającym stan licznika
będzie rejestr o wejściu i wyjściu równoległym, a w drugim i trzecim liczniki binarne liczące
odpowiednio w kodzie NKB oraz w kodzie Gray’a.
Rozwiązanie oparte na rejestrze równoległo-równoległym polega na zaprojektowaniu sieci
kombinacyjnej, która na podstawie stanu aktualnego Q n wytworzy stan następny Q n+1 ,
realizując zadany ciąg wartości wyjściowych.
Q n Q n+1
000 111
001 ---
010 ---
011 000
100 011
101 110
110 100
111 101
W tym celu należy zrealizować trzy funkcje kombinacyjne
trzech zmiennych. Z uwagi na ich małą liczbę nie trzeba
stosować wyrafinowanych metod projektowania. Najlepiej
utworzyć tabelę przejść stanów licznika i na jej podstawie
wypisać odpowiednie funkcje. Obok pokazano tabelę przejść
stanów licznika, w której stany zostały ułożone w naturalnym
porządku binarnym, ułatwiającym jej wypełnienie. Zgodnie z
warunkami zadania po stanie 0 następuje stan 7, po stanie 7
stan 5 itd. Stany 1 i 2 w tym liczniku nie występują i nie maja
stanów następnych, co zaznaczono kreskami umieszczonymi
na odpowiednich pozycjach.
Warunek zerowania licznika pod wpływem sygnału RST można zapewnić dobierając rejestr
posiadający wejście zerowania asynchronicznego poziomem niskim. Taki rejestr można
zbudować na przykład z trzech przerzutników typu D (SN7474).
1
B
1002904.012.png 1002904.013.png 1002904.014.png 1002904.015.png 1002904.001.png
Q n
Q n+1
zegar
zerowanie
Rys. 1 Licznik zbudowany w oparciu o rejestr równoległo-równoległy
wyjście
Q n Q n+1
000 111
001 ---
011 000
010 ---
110 100
111 101
101 110
100 001
Znacznie jednak wygodniej – dla celów minimalizacji – ułożyć
tę tabelę w kolejności kodu Gray’a. Przy odrobinie wprawy
można nawet pominąć poprzedni etap wypisując po lewej
stronie odpowiednią sekwencję oznaczeń stanów Q n
i wypełniając dalej tabelę w zwykły sposób.
Otrzymujemy prostą tablicę Karnaugh’a dla trzech
jednobitowych zmiennych tworzących stan wyjściowy licznika
Q n+1 . Teraz trzeba zająć się po kolei (osobno) każdą kolumną
i wypisać odpowiednie wyrażenia boolowskie w miarę
możliwości łącząc sąsiadujące ze sobą jedynki.
Oznaczmy trzy bity stanu następnego Q n+1 przez Y2, Y1, Y0. Posługując się powyższa tablicą
otrzymujemy:
Y
2
=
Q
2
*
Q
0
+
Q
2
*
Q
1
+
Q
2
*
Q
1
Y
1
=
Q
1
*
Q
0
+
Q
2
*
Q
1
Y
0
=
Q
1
*
Q
0
+
Q
2
*
Q
1
*
Q
0
Rozwiązanie oparte na liczniku binarnym liczącym w kodzie NKB polega
na zaprojektowaniu odpowiedniego licznika modulo 6 (bo tyle jest różnych stanów licznika
opisanego w treści zadania) oraz sieci kombinacyjnej, która przekształci liczby w NKB
(stany Q’ n licznika modulo 6) na zadany ciąg wartości wyjściowych.
Q’ n Q’ n+1
000 001
001 010
010 011
011 100
100 101
101 000
110 ---
111 ---
Tabela po lewej zawiera
kolejne stany licznika
modulo 6 w kodzie NKB,
tabela po prawej to już tablica
Karnaugh’a tego licznika,
w której wartości stanów Q’ n
ułożono w kodzie Gray’a.
Q’ n Q’ n+1
000 001
001 010
011 100
010 011
110 ---
111 ---
101 000
100 101
Oznaczmy trzy bity stanu następnego Q’ n+1 przez C2, C1, C0. Posługując się powyższa tablicą
otrzymujemy:
2
1002904.002.png 1002904.003.png
C
2
=
Q
'
*
Q
'
+
Q
'
*
Q
'
C
1
=
Q
'
*
Q
'
+
Q
'
*
Q
'
*
Q
'
C =
0 Q
'
Jest to pierwsza sieć kombinacyjna na rys. 2.
licznik modulo 6
Q' n
Q' n+1
zegar
zerowanie
(2) sieć
kombinacyjna
wyjście
Rys. 2 Rozwiązanie bazujące na liczniku modulo 6
Teraz trzeba zaprojektować drugą sieć kombinacyjną. Metoda jest analogiczna:
Q’ n Q n
000 000
001 111
010 101
011 110
100 100
101 011
110 ---
111 ---
Tabela po lewej zawiera
tablicę prawdy przekształcenia
sześciu stanów licznika
modulo 6 liczącego w kodzie
NKB na zadane stany
wyjściowe. Tabela po prawej
to już tablica Karnaugh’a sieci
wyjściowej, w której wartości
stanów Q’ n ułożono w kodzie
Gray’a.
Q’ n Q n
000 000
001 111
011 110
010 101
110 ---
111 ---
101 011
100 100
Trzy bity stanu wyjściowego Q n to Q2, Q1, Q0. Posługując się powyższą tablicą
otrzymujemy:
Q
2
=
Q
'
Q
'
+
Q
'
Q =
1 Q
'
Q
'0 Q
=
'
Rozwiązanie oparte na liczniku binarnym liczącym w kodzie Gray’a polega
na zaprojektowaniu odpowiedniego licznika modulo 6 oraz sieci kombinacyjnej,
która przekształci liczby w kodzie Gray’a na zadany ciąg wartości wyjściowych. Struktura
3
1002904.004.png 1002904.005.png 1002904.006.png
projektowanego układu jest analogiczna do poprzedniej, więc projektowanie znowu składa się
z dwóch kroków:
Tym razem nie warto szeregować stanów licznika modulo 6
liczącego w kodzie Gray’a inaczej w kodzie Gray’a. Można
natomiast się postarać o taki wybór sekwencji stanów
licznika wewnętrznego, aby zminimalizować liczbę zmian
bitów tego licznika wykorzystując specyficzne właściwości
kodu. Tutaj zaproponowano sekwencję
000→001→101→111→110→100→000 zamiast typowej
000→001→011→010→110→111→000, w której na końcu
występowałaby niepożądana zmiana wszystkich bitów naraz.
Q’ n Q’ n+1
000 001
001 101
011 ---
010 ---
110 100
111 110
101 111
100 000
Podobnie jak poprzednio oznaczymy trzy bity stanu następnego Q’ n+1 przez C2, C1, C0.
Posługując się powyższa tablicą otrzymujemy:
'
2 Q
=
C =
'1 Q
Q
*
'
C +
0
=
'
Q
'
*
Q
'
A teraz wyjściowa sieć kombinacyjna: sekwencji licznika
wewnętrznego 000→001→101→111→110→100→000
odpowiadać ma 0→7→5→6→4→3→0, czyli
000→111→101→110→100→011→000. Tabela po prawej
stronie zawiera to przyporządkowanie.
Q’ n Q n
000 000
001 111
011 ---
010 ---
110 100
111 110
101 101
100 011
Trzy bity stanu wyjściowego Q n to oczywiście Q2, Q1, Q0.
Posługując się powyższą tablicą otrzymujemy:
'
'2 Q
=
Q
1
=
Q
'
Q
'
Q
'
Q
0
=
Q
'
*
Q
'
+
Q
'
*
Q
'
Te kilka przykładów w żadnym przypadku nie wyczerpuje wszystkich możliwych sposobów
zaprojektowania licznika, o którym mowa w zadaniu. Z innych warto wspomnieć o takim,
w którym elementem liczącym jest licznik pierścieniowy, czyli zapętlony rejestr przesuwny
(szeregowo-szeregowy) o 6 bitach, w którym krąży jedynka (albo ciąg jedynek), a wyjściowa
sieć kombinacyjna odpowiednio dekoduje jego stan.
abcdef Q n
000001 000
000010 111
000100 101
001000 110
010000 100
100000 011
Tym razem bity rejestru przesuwnego zostały oznaczone
kolejnymi literami, jak w tabeli obok. Nietrudno sprawdzić, że:
e
2
=
b
+
c
+
d
+
Q
1
=
a
+
c
+
e
e
=0
przy czym nie trzeba w tym celu konstruować tablicy
Karnaugh’a – wystarczy sczytać pozycje krążącej jedynki.
a
+
d
+
4
C +
Q +
Q
Q
1002904.007.png 1002904.008.png
 
Zadanie 3.2
Zaprojektować układ kombinacyjny o czterech wejściach: A, B, C, D i wyjściu Y opisany
przez tablicę Karnaugh’a:
AB 00 01 11 10 CD
00 0
1
0
1
01 0
1
0
1
11 1
0
1
0
10 1
0
1
0
Zaprojektować układ sekwencyjny o dwóch wejściach: CLK (wejście sygnału zegarowego)
i RST (wejście asynchronicznego ustawiania stanu początkowego licznika - aktywne w stanie
niskim) i trzech wyjściach Q2, Q1, Q0, tak aby przy traktowaniu sygnałów wyjściowych jako
bitów liczby binarnej [Q2 Q1 Q0], układ generował cyklicznie ciąg wartości: 0, 1, 2, 3, 5, 7
Zadanie 3.3
Zaprojektować układ kombinacyjny o czterech wejściach: A, B, C, D i wyjściu Y opisany
przez tablicę Karnaugh’a:
AB 00 01 11 10 CD
00 1
0
0
1
01 1
1
1
0
11 0
0
1
0
10 0
0
0
0
Zaprojektować układ sekwencyjny o dwóch wejściach: CLK (wejście sygnału zegarowego)
i RST (wejście asynchronicznego ustawiania stanu początkowego licznika - aktywne w stanie
niskim) i trzech wyjściach Q2, Q1, Q0, tak aby przy traktowaniu sygnałów wyjściowych jako
bitów liczby binarnej [Q2 Q1 Q0], układ generował cyklicznie ciąg wartości: 0, 5, 7, 3, 4, 2
Zadanie 3.4
Zaprojektować układ kombinacyjny o czterech wejściach: A, B, C, D i wyjściu Y opisany
przez tablicę Karnaugh’a:
AB 00 01 11 10 CD
00 1
1
1
0
01 0
0
0
1
11 0
0
0
1
10 1
0
1
0
Zaprojektować układ sekwencyjny o dwóch wejściach: CLK (wejście sygnału zegarowego)
i RST (wejście asynchronicznego ustawiania stanu początkowego licznika - aktywne w stanie
niskim) i trzech wyjściach Q2, Q1, Q0, tak aby przy traktowaniu sygnałów wyjściowych jako
bitów liczby binarnej [Q2 Q1 Q0], układ generował cyklicznie ciąg wartości: 0, 1, 2, 3, 4, 5
Zadanie 3.5
Zaprojektować układ kombinacyjny o czterech wejściach: A, B, C, D i wyjściu Y opisany
przez tablicę Karnaugh’a:
AB 00 01 11 10 CD
00 1
0
0
1
5
1002904.009.png 1002904.010.png 1002904.011.png
Zgłoś jeśli naruszono regulamin