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