skrypt 05NYCH

Transkrypt

skrypt 05NYCH
3. BLOKI KOMUTACYJNE
3.1. CEL ĆWICZENIA
Celem ćwiczenia jest zapoznanie się z podstawowymi układami
komutacyjnymi. Ćwiczenie wykonywane jest na modułowym zestawie elementów logicznych UNILOG-2.
3.2. PODSTAWOWE WIADOMOŚCI TEORETYCZNE
Układy komutacyjne służą do przesyłania informacji między
układami ją przetwarzającymi. Mogą być wykorzystywane również w
ukła-dach sterowania przesyłaniem i przetwarzaniem informacji.
Przed przesłaniem informacja jest często odpowiednio zakodowana.
Stosuje się do tego celu określone kody, charakteryzujące się specyficznymi własnościami, takimi jak odporność na zakłócenia, łatwość
kodowania. Do układów komutacyjnych zaliczamy enkodery, dekodery, trans-kodery, multipleksery i demultipleksery.
3.2.1. Enkodery
Enkoderem (koderem) nazywamy układ służący do konwersji
kodu ”1 z n” lub ”1 z n” na określony kod wyjściowy. Enkoder ma n
wejść, przy czym tylko jedno z nich może być w danym czasie wyróżnione. Enkodery są stosowane głównie do wprowadzenia do systemów cyfrowych informacji w postaci liczb dziesiętnych, np. z przełączników 10-pozycyjnych obrotowych lub klawiszowych.
Jako przykład zostanie rozpatrzony enkoder, który amienia kod
”1 z 10” na kod 8421. Tabela 3.1 zawiera poszczególne stany układu,
gdzie Xi oznacza wejścia, Yi - wyjścia. Przedstawia ona tablicę stanów typowego układu enkodera bez negacji, dla którego aktywnym
stanem na wejściu jest jedynka logiczna. Na podstawie tabeli można
określić zależności opisujące poszczególne wyjścia enkodera:
51
YO = X1 + X 3 + X5 + X 7 + X 9
Y1 = X 2 + X 3 + X 6 + X 7
Y2 = X 4 + X5 + X 6 + X 7
Y3 = X 8 + X 9
Tabela 3.1
Tablica stanów enkodera zamieniającego kod ”1 z 10” na kod 8421
X9
X8
X7
X6
X5
X4
X3
X2
X1
X0
Y3
Y2
Y1
Y0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
Schemat logiczny enkodera przedstawiono na rysunku 3.1.
W praktyce często stosowane są także enkodery zmieniające kod
” 1 z 10 ” na kod 8421. Schemat logiczny takiego enkodera przedstawiono na rysunku 3.2.
W wielu systemach wymaga się, aby enkoder wytwarzał jednoznaczną odpowiedź w wypadku, gdy jednocześnie na kilku jego wejściach pojawi się jedynka (zero). Należy wówczas ustalić priorytety
wejść, dzięki czemu będzie można tak zaprojektować układ, aby na
jego wejściach pojawił się zakodowany numer tego z aktywnych
wejść, które ma najwyższy priorytet. Układ, który to realizuje nosi
52
nazwę enkodera priorytetowego. Enkodery realizowane w postaci
gotowych układów scalonych są z reguły enkoderami priorytetowymi.
X9 X8 X7 X6 X5 X4 X3 X2 X1
Y0
Y1
Y2
Y3
Rys.3.1. Schemat logiczny enkodera kodu "1 z 10" na kod 8421
X9 X8 X7 X6 X5 X4 X3 X2 X1
Y0
Y1
Y2
Y3
Rys.3.2. Schemat logiczny enkodera kodu „1 z 10’’ na kod 8 4 2 1
53
3.2.2. Dekodery
Dekoderem nazywamy układ służący do zamiany dowolnego kodu na kod ”1 z n”, ”1 z n” lub na kod wskaźnika 7-segmentowego.
Dekodery stosowane są przy wyprowadzaniu na zewnątrz informacji z
układów cyfrowych (zamieniają one liczby przedstawione w kodzie
dwójkowym na liczby dziesiętne) oraz wszędzie tam, gdzie określonej
w postaci liczby dwójkowej informacji (adresowi, instrukcji) należy
przyporządkować pobudzenie jednej określonej linii.
Jako przykład zostanie rozpatrzony dekoder kodu Graya +3 na
kod ”1 z 10”. Tablice stanów tego dekodera przedstawiono w tabeli
3.2. Na jej podstawie można określić zależności opisujące wyjścia
dekodera, które przyjmują następującą postać:
Y0 = X1 X2 X3 X4
Y5 = X1 X2 X3 X4
Y1 = X1 X2 X3 X4
Y6 = X1 X2 X3 X4
Y2 = X1 X2 X3 X4
Y7 = X1 X2 X3 X4
Y3 = X1 X2 X3 X4
Y8 = X1 X2 X3 X4
Y4 = X1 X2 X3 X4
Y9 = X1 X2 X3 X4
Powyższe funkcje nie muszą być określone dla kombinacji argumentów, które nie występują w tabeli 3.2. Dlatego też funkcje te można
uprościć stosując np. metodę tablic Karnaugha. Po minimalizacji
otrzymujemy:
Y0 = X3 X 4
Y5 = X1 X 2 X 4
Y1 = X1 X 2 X 3 X 4
Y6 = X1 X 2 X 4
Y2 = X1 X 2 X 4
Y7 = X1 X 2 X 4
Y3 = X1 X 2 X 4
Y8 = X1 X 2 X 3 X 4
Y4 = X1 X 2 X4
Y9 = X 3 X 4
Dekodery są również realizowane jako gotowe układy scalone, np.
układ UCY 7442 - dekoder czterobitowego kodu dwójkowego BCD
(8421) na kod ”1 z 10”, UCY 7447 - dekoder kodu BCD na kod
54
wskaźnika 7-segmentowego. Schemat układu sterowania półprzewodnikowego wskaźnika cyfrowego i zastosowanie dekodera scalonego
UCY 7447 przedstawiono na rysunku 3.3.
Tabela 3.2
Tabela stanów dekodera kodu Graya +3 na kod ”1 z 10”
X4
X3
X2
X1
Y9
Y8
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
wskaźnik
7-segmentowy
7
kod
BCD
(8421)
1
2
6
5
3
4
A
a
B
b
C
c
D
7447
d
RBI
e
LT
f
BI/RBO
g
R
13
R
12
R
11
R
10
R
9
R
15
R
14
+5V
Rys.3.3. Układ sterowania półprzewodnikowym wskaźnikiem 7-segmentowym
55
Układ scalony UCY 7447, oprócz czterech wejść informacyjnych A,
B, C, D (odpowiednio o wagach 1, 2, 4, 8) i siedmiu wyjść sterujących
segmentami (a, b, c, d, e, f, g), posiada również dodatkowe wejścia
funkcyjne:
• wejście wygaszania wskaźnika BI/RBO (ang. Blanking Input/Ripple Blanking Output), spełniające również funkcję sygnalizacji wygaszania zera,
• wejście wygaszania zera RBI (ang. Ripple Blanking Input),
• wejście testowe LT (ang. Lamp Test).
Układ UCY 7447 umożliwia wyświetlanie cyfr od 0 do 9 i sześciu
dodatkowych znaków. Czasami w literaturze, np.[4], układ scalony
UCY 7447 jest zaliczany do transkoderów.
3.2.3. Transkodery
Układy służące do zmiany kodu dwójkowego, innego niż kod
”1 z n” lub „ 1 z n ” na kod dwójkowy, również inny niż kod ”1 z n”
lub „ 1 z n ” noszą nazwę transkoderów (translatorów, konwerterów).
Jako przykład zostanie rozpatrzony transkoder kodu binarnego naturalnego (4-bitowego) na kod Graya, którego tablicę stanów przedstawiono w tabeli 3.3. Po minimalizacji i odpowiednich przekształceniach funkcje opisujące ten układ można przedstawić w następującej
postaci:
G i = Bi ⊕ Bi +1
dla i = 0, 1, 2
G3 = B3
Uogólniając, dla translatora n-bitowego naturalnego kodu dwójkowego na kod Graya otrzymujemy następujące zależności:
G i = Bi ⊕ Bi +1
dla i = 0, 1, 2, ..., n-2
Gn −1 = Bn − 1
Tabela 3.3
56
Tabela stanów transkodera kodu binarnego naturalnego (4 bitowego)
na kod Graya
Kod dwójkowy
B1 B0
Kod Graya
B3
B2
0
0
0
0
0
G3 G2 G1 G0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
0
0
3.2.4. Multipleksery i demultipleksery
Multiplekserem nazywamy układ o N wejściach adresowych, 2 N
wejściach informacyjnych i jednym wyjściu łączonym z jednym z
wejść informacyjnych w zależności od podanego adresu. Natomiast
demultiplekser jest to układ działający odwrotnie do multipleksera.
Posiada on jedno wejście informacyjne, N wejść adresowych oraz 2 N
wyjść. Podanie określonego adresu powoduje połączenie wejścia z
wybranym przez wejście adresowe wyjściem. Multiplekser można
wy-korzystać do zamiany równoległego kodu dwójkowego na kod
57
szeregowy, demultiplekser zaś do przetworzenia kodu szeregowego na
równoległy. Oba te układy, połączone w sposób pokazany na rysunku
3.4, umożliwiają zrealizowanie multipleksowego systemu transmisji
danych.
W technice TTL są wytwarzane multipleksery o 16, 8, 4 i 2 wejściach informacyjnych oraz odpowiednio o 4, 3, 2 i 1 wejściach adresowych. Typowym przykładem multipleksera jest układ UCY 74150;
składa się on z:
• 16 wejść informacyjnych ( E 0 , E1 , E 2 , ..., E15 ),
• 4 wejść adresowych (A, B, C, D),
• wejścia strobującego (strobe),
• wyjścia dwustanowego negacyjnego (W).
w
e
j
ś
c
i
a
w
y
j
ś
c
i
a
adres
adres
Rys.3.4. Multipleksowy system transmisji danych
Funkcja logiczna realizowana przez układ UCY 74150 ma następującą postać:
W = STROBE ( E 0 D C B A + E1 D C B A + E 2 D C B A +
+ E 3 D C B A + ... +E15D C B A )
Inne multipleksery scalone różnią się od układu UCY 74150 liczbą
wejść adresowych oraz informacyjnych. Układ UCY 74151 jest multiplekserem posiadającym:
• 8 wejść informacyjnych,
• 3 wejścia adresowe,
• wejście strobujące,
58
• wyjścia komplementarne (bez negacji - pozycyjne oraz negacyjne).
Natomiast układ UCY 74153 jest multiplekserem podwójnym, z których każdy posiada:
• 4 wejścia informacyjne,
• wejście strobujące,
• wyjście (bez negacji),
• 2 wejścia adresowe wspólne dla obu multiplekserów.
Ponadto układ UCY 74157 jest multiplekserem poczwórnym, z których każdy posiada:
• dwa wejścia informacyjne,
• jedno wyjście (bez negacji),
• wejście strobujące i adresowe wspólne dla czterech multiplekserów.
Produkowane demultipleksery mają 16 lub 4 wyjścia i odpowiednio 4 lub 2 wejścia adresowe. Typowym przedstawicielem demultiplekserów jest układ UCY 74154. Składa się on z dwóch wejść
G1 i G2 , spełniających funkcję wejścia informacyjnego i strobującego. Jeżeli oba te wejścia potraktować jako wejścia strobujące, wówczas układ spełniać może funkcję dekodera naturalnego 4-bitowego
kodu dwójkowego, podawanego na wejścia adresowe A, B, C, D (odpowiednio o wagach 1, 2, 4, 8), na kod ”1 z 16”, otrzymywany na jego
wyjściu. Multiplekser UCY 74154 ma 16 wyjść.
Demultiplekserem jest także układ UCY 74155, który zawiera
2 x 2 wejścia strobujące, 2 wejścia adresowe wspólne dla obydwu
demul-tiplekserów, 2 x 4 wyjścia. Układ UCY 74155 może być łatwo
prze-kształcony na demultiplekser 8-wyjściowy. Jako trzecie wejście
adresowe należy wykorzystać, odpowiednio połączone, wejścia strobujące.
59
3.2.4.1. Przykłady wykorzystania multipleserów i demultiplekserów
Multipleksery oraz demultipleksery są stosowane między innymi
w systemach multipleksowego przesyłania danych (np. rysunek 3.4).
Technika multipleksowa umożliwia przesyłanie wielu danych jedną
linią, przez co uzyskuje się uproszczenie i obniżenie kosztów systemu
przesyłania danych.
Multipleksery można także wykorzystać jako generatory kombinacyjnych funkcji logicznych, zagadnienie to zostanie omówione na
podstawie przykładu.
Przykład
Zrealizować funkcję y(d, c, b, a) = ∑ (3, 4, 7, 8, 9, 10, 11, 13, 15).
Do budowy układu należy wykorzystać dowolne bramki oraz:
a) multiplekser UCY 74151,
b) multiplekser UCY 74153.
Tabela 3.4
Tablica stanów funkcji y(d, c, b, a) = ∑ (3, 4, 7, 8, 9, 10, 11, 13, 15)
Lp.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
d
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
c
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
a
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
y
0
0
0
1
1
0
0
1
1
1
1
1
0
1
0
1
Dla układu 74151
D0 = 0
Dla układu 74153
D0 = ab
D1 = a
D2 = a
D1 = a ⊕ b
D3 = a
D4 = 1
D2 = 1
D5 = 1
D6 = a
D7 = a
60
D3 = a
Multipleksowe układy kombinacyjne cechują się wieloma zaletami w porównaniu z układami kombinacyjnymi złożonymi z bramek.
Jako podstawowe wymienić można: prostotę realizacji, większą niezawodność (mniejsza liczba połączeń) oraz większą szybkość działania. Multipleksery znalazły również zastosowanie w układach kontroli
parzystości (nieparzystości) przesyłanej informacji. Układy takie stosuje się podczas transmisji danych cyfrowych do wykrywania nieparzystej liczby błędów w kontrolowanym słowie.
+5V
a
D0
b
A (20)
c
B (21)
d
C (22)
D1
D2
D3
D4
D5
74151
D6
D7
S
W
Y
Y
Y
Rys.3.5. Generator funkcji y(d, c, b, a) = ∑ (3, 4, 7, 8, 9, 10, 11, 13, 15)
61
a
b
+5V
1D0
c
A (20)
d
B (21)
1D1
1/
2
1D2
1D3
74153
1S
1Y
Y
Rys.3.6. Generator funkcji y(d, c, b, a) = ∑ (3, 4, 7, 8, 9, 10, 11, 13, 15)
Multipleksery można także wykorzystać do budowy konwerterów. Na
rysunku 3.7. przedstawiono przykładowo schemat logiczny konwertera kodu BCD na kod uzupełnienie do 9.
D
1
0
G
1
2
3
2
0
G
C
1
2
B
A
3
A(20)
1/
6
74153
7404
B(21)
1
Y
2
Y
1
/6 7404
Z
Y
X
W
Rys.3.7. Schemat logiczny konwertera kodu BCD na kod uzupełnienie do 9
62
3.3. PRZEBIEG ĆWICZENIA
1. Przed przystąpieniem do ćwiczenia należy przygotować w domu (uwzględniający numerację nóżek) projekt wybranego układu:
a) enkoder 1 z 10 na kod Aikena,
b) dekoder kodu Johnsona na kod 1 z 10 (jest w Internecie),
c) translator 4-bitowego kodu naturalnego na kod Gray’a oraz translator 4-bitowego kodu Gray’a na binarny kod naturalny (dla n = 5
jest w Internecie),
d) generator przebiegów schodkowych z zastosowaniem dekodera,
e) konwerter równoległo / szeregowy słów 16-bitowych (15 bitów
informacyjnych + bit parzystości),
f) układ do kontroli kodu 2 z 5 (lub 3 z 8); należy wykorzystać dowolne bramki oraz multiplekser UCY 74151 lub UCY 74150,
g) enkoder kodu 1 z 10 na kod BCD (8421),
h) kodowanie i dekodowanie informacji z zastosowaniem kodu Hamminga (W. Hołubowicz, P. Płóciennik – GSM cyfrowy system telefonii komórkowej, Poznań 1977, str. 266)
i) dekoder kodu BCD na kod 1 z 10
j) dekoder kodu binarnego naturalnego (n=3) na kod 1 z 8
k) translator kodu binarnego naturalnego (n=4) na kod BCD
l) translator kodu binarnego naturalnego (n=4) na kod wskaźnika siedmiosegmentowego
2. Korzystając z modułów logicznych UCY 7400, UCY 7404,
UCY 7410, UCY 7402, należy zbudować układ enkodera z rysunku
3.1. Wejściami układu winny być przełączniki stabilne, wyjściami –
rejestr wskaźników diodowych. Sprawdzić zgodność działania układu
z tablicą prawdy.
3. Korzystając z dostępnych modułów logicznych, należy zbudować układ dekodera kodu Gray’a +3 na kod ”1 z 10”. Należy
sprawdzić zgodność działania układu z tablicą prawdy.
4. Sprawdzić działanie układu UCY 7447 w układzie sterowania
półprzewodnikowym wskaźnikiem 7-segmentowym.
63
Rys.3.8.Układ do sprawdzania multipleksera 74151 oraz demultipleksera 74155
5. Korzystając z dostępnych modułów logicznych, należy zbudować układ z rysunku 3.8. Narysować przebiegi czasowe na wszystkich wyjściach zastosowanych układów. W celu uproszczenia analizy
należy zewrzeć wszystkie wejścia Di i dokonać analizy dla Di = 0 oraz
Di=1.
6. Zrealizować układ zaprojektowany w domu zgodnie z punktem 1. Zbadać poprawność pracy tego układu.
Sprawozdanie powinno zawierać przygotowane projekty układów.
Na-leży podać tablicę prawdy lub przebiegi czasowe badanych układów oraz wnioski z przebiegu ćwiczenia.
64
3.4. ZAGADNIENIA KONTROLNE
1. Co to są kody dwójkowe dziesiętne?
2. Co to są kody do detekcji i korekcji błędów?
3. Co to są kody refleksyjne?
4. Przedstawić zasadę działania enkodera priorytetowego.
5. Podać zastosowania dekoderów.
6. Podać zastosowania multiplekserów i demultiplekserów.
LITERATURA
1. KALISZ J., Podstawy elektroniki cyfrowej, WKiŁ, Warszawa 1991
2. Laboratorium podstaw techniki cyfrowej, praca zbiorowa pod red. L. Wasilewskiego, WSM, Gdynia 1991
3. MAJEWSKI W., Układy logiczne, WN, Warszawa 1993
4. PIEŃKOS J., TURCZYŃSKI J., Układy scalone TTL w systemach cyfrowych, WKiŁ, Warszawa 1986
5. SASAL W., Układy scalone serii UCA 64/UCY 74. Parametry i zastosowania, WKiŁ, Warszawa 1985
65
4. BLOKI ARYTMETYCZNE
4.1. CEL ĆWICZENIA
Celem ćwiczenia jest poznanie podstawowych układów arytmetycznych, takich jak sumatory, subtraktory, komparatory i multiplikatory. W trakcie zajęć laboratoryjnych zostaną zbadane układy zbudowane z podstawowych elementów logicznych, jak też układy arytmetyczne wykonane w postaci gotowych układów scalonych.
Ćwiczenie należy wykonać na modułowym zestawie elementów logicznych UNILOG-2.
4.2. PODSTAWOWE WIADOMOŚCI TEORETYCZNE
4.2.1. Sumatory
W praktyce wszystkie obliczenia matematyczne można sprowadzić
do działań arytmetycznych, te zaś–do dodawania. Podstawowym układem arytmetycznym jest więc sumator, który realizuje dodawanie
(odejmowanie) liczb. Jeśli zostanie on rozbudowany o możliwość
prze-suwania danych, to dzięki wykonywaniu ciągu kolejnych dodawań (odejmowań) i przesunięć otrzymamy układ pozwalający realizować operacje mnożenia i dzielenia. W tabeli 4.1 zamieszczono stany
półsumatora liczb dwójkowych a i b. Wynik dodawania jest przedstawiony jako liczba 2-bitowa, z młodszym bitem zwanym sumą (s) i
starszym - przeniesieniem (p).
Tabela 4.1
Tabela stanów półsumatora dwóch liczb 1-bitowych
Składnik
a
0
0
1
1
Składnik
b
0
1
0
1
Suma
s
0
1
1
0
66
Przeniesienie
p
0
0
0
1
Z tabeli wynika, że:
p=a⋅b
s=a⊕b
Układ realizujący dodawanie dwóch bitów może być w postaci pokazanej na rysunku 4.1a, b.
Rys. 4.1. Schemat logiczny półsumatora
Półsumator może wykonywać dodawanie tylko dwóch najmłodszych
bitów liczb dwójkowych. Do dodawania starszych bitów niezbędny
jest podobny układ, który dodatkowo uwzględni (jako trzeci argument
wejściowy) przeniesienie z młodszej pozycji, na wyjściach zaś generować będzie bit sumy i bit przeniesienia. Układ taki nazywa się pełnym sumatorem lub krótko sumatorem. W tabeli 4.2 przedstawiono
tablicę prawdy (stanów) sumatora.
67
Tabela 4.2
Tablica prawdy sumatora
Przeniesienie
z pozycji i-1
pi
0
0
0
0
1
1
1
1
Składnik
ai
Składnik
bi
Suma
si
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
Przeniesienie
z pozycji i
pi+1
0
0
0
1
0
1
1
1
Minimalizując funkcje sumy i przeniesienia metodą tablic Karnaugha
otrzymujemy:
si = pi ⋅ a i ⋅ b i + p i ⋅ a i b i + p i ⋅ a i ⋅ b i + p i ⋅ a i ⋅ bi
p i +1 = p i ⋅ b i + p i ⋅ a i + a i ⋅ b i
Schemat logiczny sumatora pokazano na rysunku 4.2a. Po dalszych
uproszczeniach funkcja opisująca wyjście s i sumatora przyjmuje postać:
si = a i ⊕ b i ⊕ pi
Rysunek 4.2b przedstawia również schemat logiczny sumatora z wykorzystaniem wyłącznie bramek NAND oraz EXCLUSIVE-OR.
Dodawanie liczb dwójkowych można zrealizować jako szeregowe lub równoległe. Przy dodawaniu szeregowym potrzebny jest sumator jednopozycyjny. W sumatorze tym dodawane są dwa bity składników, począwszy od pozycji najmniej znaczącej, oraz bit przeniesienia
z poprzedniej pozycji. Schemat sumatora szeregowego przedstawiono
na rysunku 4.3. Przy dodawaniu równoległym potrzebny jest sumator
wielopozycyjny. Poszczególne pary bitów są sumowane za pomocą
osobnych sumatorów. Przeniesienie z każdej pozycji jest przesyłane
do sumatora pozycji następnej. Schemat ideowy sumatora zamieszczono na rysunku 4.4. Typowym przykładem sumatora równoległego
w postaci scalonej jest układ UCY 7483. Zawiera on jeden 4-bitowy
sumator dwójkowy równoległy z przeniesieniem równoległym.
68
b)
1
2
3
1
1 7400 (3/4)
2 7410 (1/3)
3 7486 (2/4)
7400
4
5
6
1
3
4
5
7400
6
2
pi+1
7410
10
9
8
1
7400
9
3
10
8
13
3
12
11
Si
7486
7486
pi
ai
bi
Rys. 4.2. Schemat logiczny sumatora dwóch liczb 1-bitowych
69
dodajna
rejestr przesuwny
A
B
dodajnik
i
Σ
i
S
i
suma
rejestr przesuwny
rejestr przesuwny
pi+1
pi
zegar
pamięć
kierunek przesuwania
Rys. 4.3. Sumator szeregowy
A
4
C
4
B
4
Σ
A
3
C
3
S
4
B
3
Σ
A
2
B
2
Σ
C
2
S
3
S
2
A
1
C
1
B
1
Σ
C
0
S
1
Rys. 4.4. Sumator równoległy dwóch liczb czterobitowych
4.2.2. Sumator BCD
W niektórych urządzeniach cyfrowych pożądane jest operowanie
bezpośrednio na liczbach dziesiętnych kodowanych dwójkowo. Unika
się wówczas dodatkowej konwersji z kodu BCD na naturalny kod
dwójkowy i konwersji odwrotnej. Ponieważ każda dekada liczby BCD
70
jest 4-bitową liczbą dwójkową, więc do dodawania poszczególnych
dekad można wykorzystać sumator UCY 7483. Obliczona suma binarna może zawierać się w granicach od 0 do 19. W celu przedstawienia jej w kodzie BCD niezbędna jest korekcja, której zasady wynikają z porównania kodów binarnych i BCD zestawionych w tabeli 4.3.
Jak z niej wynika, korekcja konieczna jest dla sum o wartościach od
10 do 19 i polega na odjęciu 10 i wygenerowaniu przeniesienia, tzn.
dodaniu liczby 16, czyli łącznie na dodaniu liczby 6. Funkcja wykrywająca liczby od 10 do 19 ma postać:
C +1 = C*+1 + S*3 S*2 + S*3 S1*
Tabela 4.3
Korekcja sumy przy dodawaniu liczb BCD
Suma dwu liczb dziesiętnych
Binarna
(nie skorygowana)
BCD
(skorygowana)
Korekcja
Dziesiętna
C*+1
S3*
S2*
S1*
S0*
C+1
S3
S2
S1
S0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
2
0
0
0
1
0
0
0
0
1
0
3
0
0
0
1
1
0
0
0
1
1
4
0
0
1
0
0
0
0
1
0
0
5
0
0
1
0
1
0
0
1
0
1
6
0
0
1
1
0
0
0
1
1
0
7
0
0
1
1
1
0
0
1
1
1
8
0
1
0
0
0
0
1
0
0
0
9
0
1
0
0
1
0
1
0
0
1
10
0
1
0
1
0
1
0
0
0
0
11
0
1
0
1
1
1
0
0
0
1
12
0
1
1
0
0
1
0
0
1
0
13
0
1
1
0
1
1
0
0
1
1
Odjąć 10
14
0
1
1
1
0
1
0
1
0
0
i wytworzyć
15
0
1
1
1
1
1
0
1
0
1 przesunięcie
16
1
0
0
0
0
1
0
1
1
0
lub
17
1
0
0
0
1
1
0
1
1
1
dodać 6
18
1
0
0
1
0
1
1
0
0
0
71
Zbyteczna
19
1
0
0
1
1
1
1
0
0
1
Sygnalizuje ona konieczność korekcji i generacji bitu przeniesienia do
następnej dekady. Korektor składa się więc z układu realizującego
przeniesienie C +1 oraz sumatora UCY 7483 dodającego 6, gdy przeniesienie to jest równe jeden. Całość sumatora BCD przedstawiona
została na rysunku 4.5.
Y
X
C+1
*
X3 X2 X1 X0 Y3 Y2 Y1 Y0
C4
7483
S3 S2
C0
C
S1 S0
C+1
S*
X3 X2 X1 X0 Y3 Y2 Y1 Y0
C4
7483
S3 S2
Rys. 4.5. Sumator BCD
C0
S1 S0
S
4.2.3. Subtraktory
Subtraktor jest układem arytmetycznym realizującym odejmowanie. Budowanie tych układów nie jest konieczne, gdyż przed72
stawienie liczb w kodach uzupełnieniowych sprowadza odejmowanie
do dodawania. Gdy różnica jest zawsze liczbą dodatnią, można zbudować prosty subtraktor wykorzystujący sumator.
W tabeli 4.4 przedstawiono zasadę działania 1-bitowego subtraktora, przy czym R n = X n − Yn jest n-tym bitem różnicy, a Bn+1 pożyczką od bitu (n + 1) dla bitu n.
Tabela 4.4
Tablica prawdy 1-bitowego subtraktora
Xn
Yn
Bn
Rn
Bn+1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
Na podstawie tablicy prawdy (stanów) 1-bitowego subtraktora można
stwierdzić, że:
Xn
Yn
R n = X n ⊕ Yn ⊕ B n
B n+1 = X n Yn + X n B n + Yn B n
Bn+1
Σ
Rn
Bn
Ze wzorów tych wynika, że za
pomocą sumatora i inwerterów można
zrealizować subtraktor (przykładowy
schemat został przedstawiony na
rys.4.6).
Zastępując inwertery bramkami
EXCLUSIVE-OR, otrzymujemy sumator/ subtraktor (rys.4.7), który dodaje lub odejmuje w zależności od
wartości sygnału sterującego M.
Rys. 4.6. Prosty układ
subtraktora
73
X
n
Y
n
M
B
P
n+1 n+1
Σ
S
n
P
n
B
n
R
n
Rys. 4.7. Sumator/subtraktor realizujący dodawanie, gdy M = 0,
lub odejmowanie, gdy M = 1
4.2.4. Komparatory
Do układów arytmetycznych zaliczamy także komparatory. Służą
one do porównywania dwóch liczb. Komparator porównujący dwie
liczby A i B może mieć trzy wyjścia, które odpowiadają przypadkom:
A<B, A=B, A>B; nazywamy go uniwersalnym. Komparatory mogą
być zrealizowane jako układy szeregowe (rys. 4.8a) lub równoległe
(rys. 4.8b). W tych pierwszych porównywane są kolejno bity na poszczególnych pozycjach sprawdzanych liczb, natomiast w równoległych na wejścia podawane są jednocześnie wszystkie bity porównywanych liczb.
Przykładem uniwersalnego komparatora dwóch liczb 4-bitowych
jest układ scalony UCY 7485. Oprócz wejść liczb porównywanych i
wspomnianych poprzednio trzech wyjść układ ma wejścia kaskadowe,
umożliwiające tworzenie układów porównujących liczby o większej
ilości bitów niż cztery.
74
a)
rejestr
szeregowy
liczby A
A>B
komparator
szeregowy
A=B
rejestr
szeregowy
liczby B
wyjście
A<B
b)
zegar
rejestr równoległy
liczby A
komparator
równoległy
A>B
wyjście
A=B
A<B
rejestr równoległy
liczby B
Rys. 4.8. Schematy blokowe komparatorów: a) szeregowego, b) równoległego
4.2.5. Multiplikatory
Multiplikatory są układami realizującymi operację mnożenia.
Prostym sposobem wykonania tej operacji jest jej zamiana na operację
wielokrotnego dodawania. Najbardziej rozpowszechniona metoda
polega na wielokrotnym dodawaniu odpowiednio przesuniętej mnożnej.
Przykład
1 0 1 1
mnożna
× 1 0 0 1
mnożnik
____________________________
1 0 1 1
( I iloczyn częściowy )
0 0 0 0
( II iloczyn częściowy )
0 0 0 0
( III iloczyn częściowy )
+
1 0 1 1
( IV iloczyn częściowy )
____________________________________________
1 1 0 0 0 1 1
iloczyn
Dodawanie iloczynów częściowych może być zrealizowane po
każdym kolejnym przesunięciu. Na tej zasadzie oparte są klasyczne
75
multiplikatory szeregowe. Mnożna jest wprowadzana równolegle, mnożnik zaś szeregowo. Wynik mnożenia zostaje wyprowadzony szeregowo. Mnożenie w multiplikatorze szeregowym jest procesem stosunkowo wolnym, a czas jego trwania zależy od liczby cyfr mnożnika.
Można zbudować multiplikator całkowicie równoległy, tzn. taki,
który wszystkie cyfry wyniku oblicza jednocześnie. Rozwiązanie takie
zapewnia największą szybkość działania. Typowy scalony multiplikator równoległy (jakim jest np. układ MPY-16AJ firmy TRW) mnoży
dwie liczby 16-bitowe w czasie 160 ns.
4.2.6. Przykłady zastosowań sumatora
Sumatory są często wykorzystywane do dodawania i odejmowania liczb ze znakiem. Liczby dwójkowe ze znakiem są przedstawiane
w następujących zapisach:
• znak - moduł,
• znak - uzupełnienie do 1,
• znak - uzupełnienie do 2.
Dla każdego z wymienionych zapisów znak liczby reprezentuje jej
pier-wszy bit, często oddzielony od pozostałych przecinkiem. Najczęściej przyjmuje się, że zero reprezentuje znak plus, a jedynka znak
minus. Postać liczb dodatnich jest w każdym zapisie taka sama. W
zapisie znak-moduł wartość liczby ujemnej jest przedstawiana w naturalnym kodzie dwójkowym. W zapisie znak-uzupełnienie do 1 wartość liczby ujemnej jest uzupełnieniem do 1 tej liczby, które otrzymuje się poprzez zamianę bitów tej liczby w kodzie naturalnym dwójkowym, tj. zamianę zer na jedynki i jedynek na zera. Natomiast w zapisie znak-uzupełnienie do 2 wartość liczby ujemnej jest uzupełnieniem
do 2 tej liczby. Otrzymujemy je po zamianie bitów tej liczby w kodzie
naturalnym dwójkowym i po dodaniu do otrzymanej liczby 1.
Układy uzupełniające bardzo często nazywamy komplementarnymi. Przykład 4-bitowego komplementera do 2 został przedstawiony na
rysunku 4.9. Dla s = 0 otrzymujemy na wyjściach słowo wejściowe
bez zmiany, a dla s = 1 w kodzie uzupełnienie do 2.
76
W
B
4
B
3
B
2
B
1
X
Y
A
4
A
Z
A
3
2
A
7483
C
4
4
2
X
1
C
0
3
W
S
1
Y
Z
uzupełnienie do 2
Rys. 4.9. 4-bitowy komplementer do 2
Układ UCY 7483 można także wykorzystać do budowy translatora 4-bitowego kodu naturalnego na kod BCD; przykładowe rozwiązanie zostało przedstawione na rysunku 4.10.
7483 (1/1)
7400 (3/4)
10
W
11
8
X
7
3
Y
4
1
Z
1
16
3
13
C0
A1
S
1
9
J1
B1
A2
B2
A3
B3
S2
6
J2
7483
0-9
S3
2
J3
A4
B4
S4
15
J4
2
10
8
7400
D1
9
dziesiątki
4
6
7400
5
7400
Rys. 4.10. Schemat logiczny translatora 4-bitowego kodu naturalnego
na kod BCD
77
Sumator 4-bitowy UCY 7483 jest również stosowany w przetwornikach równoległych; na rysunku 4.11 zamieszczono konwerter
liczby zapisanej w kodzie BCD na liczbę w kodzie binarnym naturalnym dla liczb z zakresu 0÷99 (konwerter BCD/BIN). W celu przetworzenia liczby całkowitej BCD na liczbę BIN należy zsumować odpowiednie rozkłady dwójkowe cyfr liczby BCD. Dla 2 cyfrowej liczby
dziesiętnej, posiadającej dziesiątki D i jedności J, słuszny jest następujący zapis:
10 D + J = 8 D + 2 D + J
Jeżeli działanie to zostanie wykonane w arytmetyce dwójkowej, to
otrzymamy odpowiednik dwójkowy tej liczby. Jeśli przyjmiemy, że
J3 J2 J1 J0 to bity tetrady jednostek o wagach odpowiednio 8, 4, 2, 1,
Rys. 4.11. Konwerter BCD/BIN dla liczb z zakresu 0÷99
78
a D3 D2 D1 D0 to bity tetrady dziesiątek o wagach 80, 40, 20, 10, to
konwersję BCD/BIN dla liczb z zakresu 0÷99 można przedstawić w
następujący sposób:
J2
J1
J0
(x 1)
J3
+
D3
D2
D1
D0
(x 2)
D3
D2
D1
D0
B6
B5
B4
B3
B2
B1
B0
26
25
24
23
22
21
20
(x 8)
4.3. PRZEBIEG ĆWICZENIA
1. Przed przystąpieniem do ćwiczenia należy przygotować w
domu projekt wskazany przez prowadzącego zajęcia lub dowolnie
wybrany (projekt powinien zawierać również numerację wszystkich
wejść i wyjść):
a) projekt sumatora szeregowego dwóch liczb dwubitowych, można
wykorzystać bramki NAND, NOR, inwertery, EXCLUSIVE-OR,
b) projekt komparatora szeregowego porównującego liczby zaczynając od najmłodszych bitów; do budowy należy zastosować układy
scalone zawierające bramki NAND i przerzutniki JK,
c) projekt komparatora szeregowego porównującego liczby zaczynając od najstarszych bitów; do budowy zastosować układy scalone
zawierające bramki NAND i przerzutniki JK,
d) projekt sumatora akumulującego, wykorzystującego sumator scalony typu UCY 7483 oraz dowolny rejestr.
2. Zbudować układ półsumatora zgodny z rysunkiem 4.1. Podać
tablicę stanów.
3. Zbudować sumator BCD zgodny z rysunkiem 4.5. Dla wybranych sygnałów wejściowych określić tabelę stanów. Przedstawić
wnioski dotyczące działania układu.
4. Zbudować układ jak na rysunku 4.12. Sprawdzić poprawność
działania układu. Dla wybranych sygnałów wejściowych określić
tablicę stanów. Przedstawić wnioski dotyczące działania układu.
79
5. Sprawdzić działanie komparatora scalonego UCY 7485. Podać
tablicę stanów.
Rys. 4.12. Układ wykonujący operację dodawania lub odejmowania
6. Sprawdzić działanie układu arytmetyczno-logicznego
UCY 74181. Wejścia A, B, S i C należy podłączyć do przełączników
stabilnych, wyjścia F, A = B i C4 - do wejść rejestru wskaźników
diodowych.
7. Zbudować układ zgodny z projektem z punktu 1. Podać tablicę
stanów. Zademonstrować prowadzącemu poprawnie działający układ.
8. Zbudować układ sumatora dwóch liczb jednobitowych.
Sprawozdanie powinno zawierać przygotowane projekty. Należy w
nim również podać tablicę stanów badanych układów oraz wnioski z
przebiegu ćwiczenia.
4.4. ZAGADNIENIA KONTROLNE
1. Sumatory dziesiętne - przedstawić zasadę działania.
80
2. Podać zasadę działania sumatora dziesiętnego akumulującego.
3. Jakie operacje logiczne można wykonać za pomocą komparatora
scalonego UCY 7485?
4. Multiplikatory - zasada działania i ich zastosowanie.
5. Co to są układy generowania i kontroli parzystości? Podać przykłady rozwiązań.
LITERATURA
1. KALISZ J., Podstawy elektroniki cyfrowej, WKiŁ, Warszawa 1991
2. Laboratorium podstaw techniki cyfrowej, praca zbiorowa pod red.
L. Wasilewskiego, WSM, Gdynia 1991
3. MAJEWSKI W., Układy logiczne, WN, Warszawa 1993
4. PIECHA J., Elementy i układy cyfrowe, PWN, Warszawa 1990
5. PIEŃKOS J., TURCZYŃSKI J., Układy scalone TTL w systemach cyfrowych, WKiŁ, Warszawa 1986
6. SASAL W., Układy scalone UCA 64/UCY 74. Parametry i zastosowania,
WKiŁ, Warszawa 1985
7. TRACZYK W., Układy cyfrowe. Podstawy teoretyczne i metody syntezy,
WNT, Warszawa 1986
81
5. PRZERZUTNIKI BISTABILNE
5.1. CEL ĆWICZENIA
Celem ćwiczenia jest poznanie właściwości, zasad działania oraz
praktycznych możliwości wykorzystania najczęściej stosowanych
przerzutników D, T, RS i JK. W teorii automatów nazywane są one
bardzo często automatami elementarnymi. Do realizacji ćwiczenia w
laboratorium należy wykorzystać modułowy zestaw elementów logicznych UNILOG-2.
5.2. PODSTAWOWE WIADOMOŚCI TEORETYCZNE
5.2.1. Wprowadzenie
Przerzutnik jest podstawowym elementem układów sekwencyjnych. Jego funkcja polega na pamiętaniu jednego bitu informacji.
Przerzutnik posiada dwa stany wewnętrzne z możliwością przejść w
obu kierunkach, tj. z 1 na 0 i z 0 na 1. Wyjście przerzutnika określa
jego stan, przy czym zarówno stan, jak i wyjście przerzutnika oznaczane są przez Q. Realizowane przerzutniki mają również wyjście
zanegowane Q . Zmiana stanu przerzutnika następuje pod wpływem
zmiany wartości sygnałów wejściowych. Ze względu na moment
zmiany stanu przerzutniki dzielą się na:
• asynchroniczne,
• synchroniczne.
Przerzutniki asynchroniczne są to takie układy dwustanowe, w których zmiana stanu może nastąpić natychmiast po zmianie wartości
sygnałów wejściowych. Natomiast przerzutnik synchroniczny jest
układem dwustanowym mającym dwa rodzaje wejść:
• informacyjne (przygotowujące),
• zegarowe.
82
Q
Wyjścia
Wejścia
informacyjne
Wejścia programujące
Zmiana stanu przerzutnika może nastąpić tylko w czasie trwania określonego poziomu lub zbocza sygnału zegarowego. Stan następny zależy od wartości sygnałów informacyjnych oraz od stanu aktualnego. W
przerzutniku synchronicznym mogą dodatkowo występować asynchroniczne wejścia programujące, zwane inaczej przełączającymi,
które pozwalają na asynchroniczne ustalenia stanu przerzutnika. Wejścia asynchroniczne mają zawsze priorytet w stosunku do pozostałych
wejść przerzutnika.
Działanie logiczne przerzutnika synchronicznego najczęściej ilustruje się za pomocą tabela stanów, w której są przedstawione stany na
wejściach informacyjnych układu w chwili tn , tzn. przed nadejściem
impulsu zegarowego, i stany na wyjściach w chwili tn+1, tzn. po wystąpieniu impulsu zegarowego. Tabelę stanów można otrzymać bezpośrednio z grafu lub tabeli przejść przerzutnika (tablica Karnaugha
dla Qn+1). Na rysunku 5.1 pokazano symbol graficzny uwzględniający
wszystkie możliwe wejścia i wyjścia przerzutnika.
Wejście
zegarowe
Q
Rys.5.1. Symbol graficzny przerzutnika
5.2.2. Asynchroniczny przerzutnik RS
W najprostszej postaci asynchroniczny przerzutnik RS składa się
z dwóch bramek NOR odpowiednio połączonych ze sobą w sposób
pokazany na rysunku 5.2. Przerzutnik ten ma dwa wejścia informacyjne (programujące) R i S oraz dwa wyjścia Q i Q . Wejścia R i S są
wejściami asynchronicznymi, tzn. ich stany natychmiast oddziałują na
stan przerzutnika. Kombinacja sygnałów wejściowych R = 0 i S = 1
83
powoduje ustawienie na wyjściu przerzutnika stanu 1 (tzn. Q = 1 i
Q = 0), kombinacja R = 1 i S = 0 powoduje ustawienie na wyjściu
stanu 0 (tzn. Q = 0 i Q = 1), natomiast podczas trwania kombinacji
R = S = 0 pamiętany jest stan przerzutnika, który został ostatnio ustawiony. Kombinacja sygnałów wejściowych R = S = 1 jest w tym typie
przerzutnika zabroniona, co oznacza, że w razie jej podania na wejścia, działanie przerzutnika będzie nieokreślone.
a)
b)
R
Q
Q
S
Q n+1 Q n+1
R
S
Q
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
n
? stany
niedozwolone
c)
R
S
Q
Q
?
?
Rys.5.2. Asynchroniczny przerzutnik typu RS zbudowany z bramek NOR:
a) schemat logiczny, b) tabela stanów ilustrująca działanie logiczne,
c) wykres czasowy (?oznacza stan zabroniony)
5.2.3. Synchroniczny przerzutnik RS
Symbol graficzny synchronicznego przerzutnika RS i jego działanie
logiczne zilustrowane jest na rysunku 5.3. Wejściami informacyjnymi są
synchronizowane wejścia R i S. Wejście C jest wejściem dla impulsów
84
a)
S
b)
Sn
0
0
1
1
Q
C
R
d)
Q n+1
SnRn
Q
S
Rn
0
1
0
1
Q n+1
Qn
0
1
?
c)
0 0
1 0
0 0
0 1
0
10
1
01
e)
00
01
11
10
0
1
0
0
?
?
1
1
Qn
0
0
1
1
Qn
0
1
R
Q n+1
0
1
0
1
Sn
0
1
0
*
Rn
*
0
1
0
Rys.5.3. Synchroniczny przerzutnik typu RS: a) symbol graficzny, b) tablica stanów (przejść), c) graf, d) tablica Karnaugha
dla Qn+1, e) tablica wzbudzeń (przy czym * oznacza stan 0 lub 1, w literaturze oznaczany również jako x lub φ)
85
zegarowych. Zależnie od tego, która z trzech dozwolonych kombinacji
wartości sygnałów zostanie podana na wejścia R i S, przerzutnik podczas
wyzwalania go impulsem zegarowym zachowa się w jeden z następujących sposobów:
• nie zmieni stanu, jeśli R = S = 0,
• ustawi się w stanie Q = 0, jeśli R = 1 i S = 0,
• ustawi się w stanie Q = 1, jeśli R = 0 i S = 1,
• dla sygnałów R = S = 1 stan przerzutnika będzie nieokreślony.
Równanie logiczne przerzutnika RS, otrzymane na podstawie tablicy
Karnaugha, (rysunek 5.3d) ma postać:
Qn+1 = Sn + R n Qn,
przy czym Sn Rn = 0
5.2.4. Synchroniczny przerzutnik JK
Wejścia informacyjne przerzutnika JK, oznaczone jako J i K,
odpowiadają wejściom S i R przerzutnika RS. Jedyna różnica w działaniu obu typów przerzutników polega na tym, że zachowanie się
przerzutnika RS w przypadku jednoczesnego podania sygnałów 1 na
oba wejścia informacyjne było nieokreślone; przy jednoczesnym
podaniu sygnałów 1 na oba wejścia informacyjne przerzutnika JK
jego stan następny będzie negacją stanu aktualnego. Symbol graficzny
przerzutnika JK, graf oraz tablice stanów i wzbudzeń przedstawiono
na rysunku 5.4. Przerzutnik JK jest funkcjonalnie najbardziej uniwersalny.
Równanie logiczne przerzutnika JK ma postać:
Qn+1 = Jn Q n + K n Qn
5.2.5. Synchroniczny przerzutnik D
Symbol graficzny synchronicznego przerzutnika D i jego działanie logiczne zilustrowano na rysunku 5.5. Równanie logiczne przerzutnika D ma postać: Qn+1 = Dn.
86
a)
Jn
0
0
1
1
J Q
C
K Q
Kn
0
1
0
1
Q n+1
Qn
0
1
J
K
0 0
1 0
0 0
0 1
0
b)
d)
Q n+1
Jn Kn
10
11
01
11
Jn
0
1
*
*
Kn
*
*
1
0
1
e)
00
01
11
10
0
1
0
0
1
0
1
1
Qn
0
0
1
1
Q.n
0
1
c)
Q n+1
0
1
0
1
Rys.5.4. Synchroniczny przerzutnik typu JK: a) symbol graficzny (kółeczko na wejściu C oznacza, że przerzutnik reaguje
na zbocze opadające), b) tablica stanów, c) graf, d) tablica Karnaugha dla Qn+1, e) tablica wzbudzeń
87
a)
b)
D n Q n+1
0
0
1
1
D Q
CQ
c)
D
0
0
d)
Q n+1
.. Dn
1
0
1
e)
0
1
0
0
1
1
Qn
0
0
1
1
Qn
0
1
1
Q n+1
0
1
0
1
Dn
0
1
0
1
Rys.5.5. Synchroniczny przerzutnik typu D: a) symbol graficzny, b) tablica stanów, c) graf, d) tablica Karnaugha dla Qn+1 ,
e) tablica wzbudzeń
88
5.2.6. Synchroniczny przerzutnik T
Symbol graficzny synchronicznego przerzutnika typu T i jego
działanie logiczne pokazano na rysunku 5.6. Równanie logiczne przerzutnika T otrzymane z tabeli stanów (przejść) ma postać:
Qn+1 = Tn Q n + T n Qn = Tn ⊕ Qn .
5.2.7. Wyzwalanie przerzutników synchronicznych
Z analizy zasady działania przerzutników synchronicznych D, T,
RS, JK wynika, że w wersji asynchronicznej praktyczne zastosowanie
ma jedynie przerzutnik RS, gdyż asynchroniczny przerzutnik D jest
układem powtarzającym sygnał wejściowy (np. przewodem łączącym
wejście z wyjściem), natomiast asynchroniczne przerzutniki T i JK są
dla sygnałów wejściowych odpowiednio T = 1 i J = K = 1 układami niestabilnymi.
Chwile zmian stanów przerzutników synchronicznych wyznaczane są przez impulsy zegarowe. Wyróżnia się trzy sposoby wyzwalania
przerzutników:
• wyzwalanie poziomem impulsu zegarowego,
• wyzwalanie przednim lub tylnym zboczem impulsu zegarowego,
• wyzwalanie typu Master-Slave (M-S).
Przerzutnik wyzwalany poziomem reaguje na sygnał wejściowy
w czasie określonego poziomu impulsu zegarowego, tzn. w czasie 1
lub 0 logicznego. W tym czasie zachowuje się on jak układ asynchroniczny. Stosowany w układach pamięciowych przerzutnik D wyzwalany poziomem jest potocznie nazywany przerzutnikiem „latch” (Dzatrzask). Traktując jego wejście zegarowe jako jedno z wejść asynchronicznych, można otrzymać graf i tabelę przejść przerzutnika D
przedstawioną na rysunku 5.7. Z tabeli wynika następujące równanie
logiczne przerzutnika typu D:
Qn+1 = Qn Dn+ Q n C n + DnCn = Q n C n D n + Dn Cn
89
a)
b)
T n Q n+1
0
Qn
1
Q
T Q
C
Q
c)
T
0
n
0
d)
Q n+1
.. Tn
1
1
1
e)
0
1
0
1
1
0
Qn
0
0
1
1
Qn
0
1
0
Q n+1
0
1
0
1
Tn
0
1
1
0
Rys.5.6. Synchroniczny przerzutnik typu T: a) symbol graficzny, b) tablica stanów (przejść), c) graf, d) tablica Karnaugha
dla Qn+1, e) tablica wzbudzeń
90
lub jego postać minimalna: Qn+1 = DnCn + Q n C n
00
01
10
D
11
0
01
Q n+1
00
10
11
C
DnCn
1
Qn
00
01
11
10
0
0
0
1
0
1
1
0
1
1
Rys.5.7. Graf i tablica przejść synchronicznego przerzutnika D wyzwalanego
poziomem (D - zatrzask )
Schemat logiczny oraz przebiegi czasowe przerzutnika D-zatrzask
przedstawiono na rysunku 5.8.
a)
D
Q
C
Q
b)
zegar
D
t
Q
t
t
Rys.5.8. Przerzutnik D-zatrzask: a) schemat logiczny, b) przykładowe przebiegi
czasowe
W przerzutnikach wyzwalanych zboczem zmiana stanu przerzutnika może nastąpić tylko w czasie trwania zbocza rosnącego lub opadającego sygnału zegarowego, to znaczy w chwili zmiany wartości
sygnału zegarowego z 0 na 1 albo z 1 na 0 (zależnie od typu przerzut-
91
nika, każdy z nich reaguje tylko na jeden kierunek zmiany). W czasie
między zboczami sygnału zegarowego przerzutnik nie reaguje na
zmiany wejściowych sygnałów informacyjnych. Typowym przerzutnikiem wyzwalanym zboczem dodatnim (narastającym) jest przerzutnik D; schemat logiczny – rysunek 5.9a. Jest to schemat przerzutnika
UCY 7474; w celu zwiększenia przejrzystości rysunku asynchroniczne wejścia programujące (zerujące CR i ustawiające PR) zaznaczono
linią przerywaną. Często wejście CR jest oznaczane jako R (Reset), a
wejście PR jako S (Set).
a)
PR
1
2
5
Q
CK
3
6
Q
D
4
CR
b)
CK
D
t
Q
t
t
Rys.5.9 Przerzutnik D wyzwalany przednim zboczem a) schemat logiczny
b) przykładowe przebiegi czasowe dla PR = 1 i CR = 1
Układ zbudowany jest z trzech przerzutników z wejściami asynchronicznymi CR i PR (bramki 1 i 2, 3 i 4 oraz 5 i 6). W czasie trwania dodatniego zbocza sygnału zegarowego (zbocze narastające) informacja jest wpisywana z wejścia D do przerzutnika 1-2 (jeżeli
92
D = 1) bądź do przerzutnika 3-4 (jeżeli D = 0). Wyjścia sterują wejściami złożonego z bramek 5 i 6 przerzutnika którego wyjścia są jednocześnie wyjściami całego układu. Odpowiedź przerzutnika na przykładowe pobudzenie pokazano na rysunku 5.9b.
Przerzutniki typu Master-Slave, zwane również dwuzboczowymi,
charakteryzują się tym, że wpisywanie informacji z wejść informacyjnych do układów wejściowych przerzutnika odbywa się podczas trwania pierwszego zbocza sygnału zegarowego, a przekazywanie jej na
wyjścia - podczas następnego zbocza. Działanie omówiono na podstawie najczęściej stosowanego
przerzutnika JK-MS (rys. 5.10).
Przerzutnik MS składa się z dwóch przerzutników połączonych kaskadowo. Pierwszy z nich nosi nazwę Master (M), drugi Slave (S).
Na wejściach każdego ze stopni znajdują się bramki NAND, które są
otwierane odpowiednimi poziomami poprzedzającymi zbocze przednie i tylne impulsu zegarowego. Na rysunku 5.10c przedstawiono
sygnał zegarowy z wyróżnionymi czterema chwilami. Spełniają one
następującą rolę:
• zablokowanie bramek 3 i 4, czyli odseparowanie wejść przerzutnika Slave od wyjść przerzutnika Master,
• zmiana stanu przerzutnika Master zależnie od stanu wejść informacyjnych,
• zablokowanie bramek 1 i 2, czyli odseparowanie logiczne wejść
przerzutnika Master,
• przepisanie informacji z przerzutnika Master do przerzutnika
Slave.
W rozpatrywanym przerzutniku JK-MS zmiana stanu przerzutnika M odbywa się podczas zmiany poziomu z 0 na 1 na wejściu zegarowym (zbocze dodatnie, narastające), natomiast przepisanie informacji z M do S – podczas zmiany poziomu na tym wejściu z 1 na 0 (zbocze opadające). Na rysunku 5.11 przedstawiono reakcję tego przerzutnika na przykładowe pobudzenia.
93
a)
b)
J
M
1
S
Q'
3
Q
C
Q'
K
2
Q
4
c)
d)
Rys.5.10. Przerzutnik JK-MS: a) schemat blokowy, b) schemat logiczny, c) fazy
przełączania, d) tablica stanów (przejść)
94
zegar
C
J
t
K
t
Q
t
t
Rys.5.11. Reakcja przerzutnika JK-MS na przykładowe pobudzenie
Przy wyzwalaniu zboczem impulsu zegarowego lub wyzwalaniu
typu Master-Slave można zrealizować każdy z czterech typów przerzutników, tj. RS, D, T, JK.
Stosując dodatkowe układy kombinacyjne, można przekształcić
przerzutnik określonego typu na inny. Przykładowo przekształcenie
przerzutnika typu D w przerzutnik typu JK, czyli zamiana D → JK,
sprowadza się do zaprojektowania układu sekwencyjnego działającego zgodnie z grafem podanym na rysunku 5.4c, a zrealizowanego z
wykorzystaniem przerzutnika D. Tablicę stanów i wzbudzeń oraz
tablicę Karnaugha, odpowiadającą realizowanej przez układ kombinacyjny funkcji Dn, przedstawiono na rysunku 5.12. W wyniku minimalizacji otrzymano następującą postać funkcji opisującej działanie
układu kombinacyjnego:
Dn = K n Qn + Jn Q n
95
Rys.5.12. Konwersja D → JK, Dn = Kn Qn + Jn Qn : a) tabela stanów oraz
wzbudzeń, b) tablica Karnaugha dla wejścia Dn
Schemat logiczny całego układu przekształcającego D w przerzutnik
JK przedstawiono na rysunku 5.13.
J
D
zegar
C
K
Q
Q
Q
Q
Rys.5.13. Konwersja przerzutnika D na JK - schemat logiczny
5.3. PRZEBIEG ĆWICZENIA
1. Zaprojektować i zbudować, korzystając z bramek NAND
UCY 7400, asynchroniczny przerzutnik RS. Zbadać działanie przerzutnika, podać przebiegi czasowe i tablicę stanów.
2. Wykorzystując układy UCY 7400 zaprojektować i zbudować
synchroniczny przerzutnik RS. Podać tablicę stanów i przebiegi czasowe.
3. Zbudować przerzutnik D z bramek NAND UCY 7400. Podać
tablicę stanów badanego układu, narysować przebiegi czasowe.
4. Korzystając z układu UCY 7474 zbadać działanie przerzutnika
D. Wyjaśnić rolę wejść programujących Clear (Reset) oraz Set (Preset). Podać przebiegi czasowe oraz tablicę wzbudzeń i stanów.
5. Wykorzystując układ UCY 7476 sprawdzić działanie jednego
z dwóch przerzutników typu JK-MS. Narysować przebiegi czasowe,
podać tablicę stanów oraz wzbudzeń.
6. Korzystając z modułu UCY 7476 sprawdzić działanie układu
z rysunku 5.14. Przeprowadzić obserwacje oscyloskopowe i narysować przebiegi czasowe w punktach C1, J1, Q1, Q2 układu.
96
Q2
Q1
'' H
S1
J1
S1
Q1
J2
C1
Q2
''
f
C2
K1
Q1
K2
R1
Q2
R2
f we
H ''
''
Rys.5.14. Dzielnik częstotliwości o stosunku podziału 3
7. Opracowanie sprawozdania.
Sprawozdanie powinno zawierać wyniki uzyskane podczas realizacji
punktów 1÷ 6. Należy przedstawić warunki prawidłowej pracy przerzutnika JK-MS. Przekształcić, poprzez dołączenie odpowiedniego
układu kombinacyjnego, przerzutnik RS na JK. Przekształcić również, poprzez dołączenie odpowiedniego układu kombinacyjnego,
przerzutnik JK na D.
Jaki będzie stosunek podziału dzielnika częstotliwości zbudowanego z
kaskadowo połączonego układu dwójki liczącej i układu z rysunku
5.14? Wyjaśnić dlaczego.
Opracować zagadnienie kontrolne wskazane przez prowadzącego.
5.4. ZAGADNIENIA KONTROLNE
1. Podać definicje podstawowych parametrów dynamicznych przerzutników. Przedstawić odpowiednie ilustracje.
2. Dlaczego w wersji asynchronicznej praktyczne zastosowanie ma
tylko przerzutnik RS?
97
3. Wyjaśnić, dlaczego nie stosuje się przerzutników T i JK wyzwalanych poziomem.
4. Zaprojektować przerzutnik RS wyzwalany poziomem. Podać graf i
tablicę przejść.
5. Zaprojektować przerzutnik JK wyzwalany zboczem impulsu zegarowego.
6. Podać przykłady zastosowania przerzutników RS, JK i D.
7. Zamienić, poprzez dołączenie odpowiedniego układu kombinacyjnego, przerzutnik T na: a) D, b) JK, c) RS.
8. Zamienić, poprzez dołączenie odpowiedniego układu kombinacyjnego, przerzutnik JK na T.
9. Zamienić, poprzez dołączenie odpowiedniego układu kombinacyjnego, przerzutnik PR opisany równaniem Qn+1 = Q n P + Qn R na
przerzutnik D.
10. Zaprojektować i zrealizować na przerzutnikach JK licznik binarny: a) modulo 3, b) modulo 7, c) modulo 9, d) modulo 13. Te
same układy zbudować z przerzutników D.
11. Omówić rejestry przesuwające zbudowane z przerzutników D.
Podać przykładowe rozwiązania, narysować przebiegi czasowe.
12. Narysować przebiegi czasowe na wyjściach Q1, Q2, Q3 układu jak
na rysunku 5.15. Należy założyć, że Q1(0) = Q2(0) = Q3(0) = 0.
98
Q2
Q1
Q3
1
J
Q
CP
1
J
J
Q
CP
Q
K
K
Q
CP
Q
1
K
Q
X
X
Rys. 5.15. Schemat logiczny licznika modulo 5
LITERATURA
1. KALISZ J., Podstawy elektroniki cyfrowej, WKiŁ, Warszawa 1991
2. Laboratorium podstaw techniki cyfrowej, praca zbiorowa pod red. L. Wasilewskiego, WSM, Gdynia 1991
3. MAJEWSKI W., Układy logiczne, WN, Warszawa 1993
4. PIEŃKOS J., TURCZYŃSKI J., Układy scalone TTL w systemach cyfrowych, WKŁ, Warszawa, 1986
5. SASAL W., Układy scalone serii UCA 64/UCY 74. Parametry i zastosowania, WKŁ, Warszawa, 1985
6. TRACZYK W., Układy cyfrowe. Podstawy teoretyczne i metody syntezy,
WNT, Warszawa 1986
99

Podobne dokumenty