Praca laboratoryjna 1
Transkrypt
Praca laboratoryjna 1
Praca laboratoryjna 2 TEMAT: PROJEKTOWANIE I BADANIE PRZERZUTNIKÓW BISTABILNYCH Cel pracy – poznanie zasad funkcjonowania przerzutników różnych typów w oparciu o różne rozwiązania układowe. Poznanie sposobów projektowania takich przerzutników i określenie ich podstawowych parametrów. Podstawy teoretyczne W układach cyfrowych przerzutniki są wykorzystywane jako elementy zapamiętujące informację. Przerzutnik bistabilny jest układem cyfrowym, który może się znajdować w jednym z dwóch stanów (logicznym „0” lub „1”). Ogólna budowa przerzutnika została przedstawiona na rys. 1, gdzie przyjęto następujące oznaczenia: A X1 f1 ... US Xn EZ Q f2 A Q C Rys. 1. Budowa ogólna przerzutnika US EZ X1, ...., Xn C f1 i f2 QiQ - układ sterujący (układ kombinacyjny); - element zapamiętujący informację (element pamięci); - wejścia informacyjne; - wejście zegarowe; - funkcje wzbudzenia elementu EZ; - wyjścia przerzutnika (proste i zanegowane). Przykładowe realizacje elementu pamięci EZ na bramkach typu 2NAND i 2NOR przedstawiono odpowiednio na rys. 2a i rys. 2b. a) b) f1 f2 Q Q f1 f2 Q Q Rys. 2. Przykładowa realizacja elementu pamięci: na bramkach NAND (a) i NOR (b) Przerzutniki klasyfikuje się biorąc pod uwagę sposób funkcjonowania bądź sposób zapisu informacji. Klasyfikacja uwzględniająca sposób funkcjonowania przerzutników określa stany w jakich znajdują się wejścia i wyjścia przerzutnika w dwóch kolejnych taktach zegarowych ts i ts+1. Na przykład, jeśli przerzutnik posiada jedno wejście informacyjne (możliwe stany tego wejścia to x=0 lub x=1, a na wyjściu dopuszcza się pięć stanów: 0, 1, Q , Q, oraz * (stan nieokreślony), to teoretycznie można określić 25 różnych typów przerzutników (tj. różnych sposobów funkcjonowania). W ogólnym przypadku, jeśli przerzutnik posiada n wejść informacyjnych, to ogólna liczba typów wynosi 5 do potęgi 2n. W praktyce wykorzystuje się stosunkowo mała liczba typów przerzutników: RS, D, DV, JK, T, E, R i S. Sposób funkcjonowania przerzutnika może być zadany za pomocą tabeli pracy (przełączeń). Z tabeli przełączeń przerzutnika RS (tab. 1) wynika, że przerzutnik nie zmienia swojego stanu w takcie ts+1 (Qs+1=Qs), jeśli w takcie ts na wejścia R i S był podany niski poziom logiczny, tj. Rs=Ss=0. Przy kombinacji sygnałów wejściowych (w takcie ts) Rs=0 i Ss=1 na wyjściu Q przerzutnika (w takcie ts+1) będzie się znajdował wysoki poziom logiczny Qs+1=1, a przy kombinacji Rs=1 i Ss=0 – poziom niski Qs+1=0. Jeśli Rs=Ss=1, to stan przerzutnika nie będzie określony (*), a taka kombinacja sygnałów wejściowych dla przerzutnika RS jest zabroniona. Tab. 1. Tabela pracy Tab. 2. Tabela pracy przerzutnika RS przerzutnika R ts Rs 0 0 1 1 ts+1 Qs+1 Qs 1 0 * Ss 0 1 0 1 ts Rs 0 0 1 1 ts+1 Qs+1 Qs 1 0 0 Ss 0 1 0 1 Przerzutnik typu R różni się od przerzutnika typu RS tym, że kombinacja sygnałów wejściowych Rs=Ss=1 powoduje ustalenie niskiego poziomu logicznego na wyjściu przerzutnika Qs+1=0 (co jes reprezentowane w tab. 2). Przerzutnik S (tab. 3) w tym przypadku działa odwrotnie – ustala wysoki poziom logiczny Qs+1=1, a przerzutnik E (tab. 4) nie zmienia swojego stanu (Qs+1 = Qs). Tab. 3. Tabela pracy przerzutnika S ts s R 0 0 1 1 s S 0 1 0 1 ts+1 Qs+1 Qs 1 0 1 Tab. 4. Tabela pracy przerzutnika E ts s R 0 0 1 1 s S 0 1 0 1 ts+1 Qs+1 Qs 1 0 Qs Przerzutnik typu D nazywany jest niekiedy przerzutnikiem opóźniającym (jego tabelę pracy reprezentuje tab. 5). Może być on tylko przerzutnikiem synchronicznym. Przerzutnik DV różni się od przerzutnika D tym, że posiada dodatkowe wejście V. Jeśli V=1, to przerzutnik DV funkcjonuje tak samo jak przerzutnik D, natomiast jeśli V=0, to stan w jakim znajdował się przerzutnik będzie zachowany niezależnie od stanu wejścia informacyjnego D. Przerzutnik T jest nazywany przerzutnikiem zliczającym (patrz tab. 6). Zlicza on wysokie poziomy logiczne – jedynki, które są podawane w kolejnych taktach na wejście T i sumuje je modulo 2. Jak wynika z tabeli przełączeń przerzutnika JK (tab. 7), przy kombinacjach sygnałów wejściowych J=K=0, J=0 i K=1, J=1 i K=0 pracuje on analogicznie, jak przerzutnik RS. Natomiast przy kombinacji J=K=1 zmienia swój stan, w którym się znajdował, na przeciwny. Klasyfikacja przerzutników ze względu na sposób zapisu informacji odzwierciedla proces przełączania się tych przerzutników. Zgodnie z tą klasyfikacją przerzutniki dzielą się na asynchroniczne i synchroniczne. Asynchroniczne przerzutniki przełączają się zgodnie z informacją pojawiającą się na wejściach informacyjnych. Wśród przerzutników synchronicznych najczęściej wykorzystuje się przerzutniki posiadające jedno wejście taktujące. Tylko tego typu przerzutniki synchroniczne będą dalej rozpatrywane. Tab. 5. Tabela pracy przerzutnika D Ts s C 0 0 1 1 Tab. 6. Tabela pracy przerzutnika T ts ts+1 T Qs+1 0 Qs 1 Qs s D 0 1 0 1 ts+1 Qs+1 Qs Qs 0 1 Tab. 7. Tabela pracy przerzutnika JK ts ts+1 s s J K Qs+1 0 0 Qs 0 1 0 1 1 0 1 1 Qs Synchroniczne przerzutniki dzielą się na sterowane poziomem sygnału zegarowego (tzw. zatrzaski) oraz zboczem (narastającym lub opadającym) sygnału zegarowego – to są tzw. przerzutniki z wewnętrznym opóźnieniem. Synchroniczne przerzutniki pierwszego typu (zatrzaski) przełączają się w czasie istnienia aktywnego poziomu sygnału na wejściu zegarowym (taktującym) C. Mogą się one wielokrotnie przełączać się (tyle razy, ile na to pozwalają zmiany sygnałów na wejściach informacyjnych) dopóki poziom na wejściu C będzie aktywny. Zatrzaski typu RS z prostymi i zanegowanymi wejściami R i S przedstawiono odpowiednio na rys. 2b (gdzie R=f1, S=f2) i rys. 2a (gdzie S=f1 i R=f2). Synchroniczne przerzutniki drugiego typu (sterowane zboczem) charakteryzują się tym, że poziomy logiczne na wyjściach tych przerzutników są ustanawiane w momencie zmiany poziomu logicznego sygnału taktującego. Jeśli przerzutnik zmienia swój stan przy zmianie poziomu sygnału taktującego z 0 do 1, to mówimy o przerzutniku przełączanym zboczem narastającym sygnału taktującego, a jeśli z 1 do 0 – to zboczem (frontem) opadającym. Projektowanie przerzutników polega na wyborze typu elementu EZ zgodnie z rys. 2 i syntezie układu kombinacyjnego US (patrz rys. 1), którego zadaniem jest realizacja wartości funkcji wzbudzeń f1 i f2 wykorzystywanych w elemencie EZ. Jeśli w kolumnie Qs+1 tabeli przełączeń przerzutnika znajdują się wartości Q s (patrz tab. 6 lub tab. 7), to sygnały na wyjściach Q i Q przerzutnika są argumentami funkcji f1 i f2. Dla prawidłowego działania takiego przerzutnika należy w punktach A (patrz rys. 1) układu umieścić elementy opóźniające propagację sygnału (tj. wprowadzić tzw. opóźnienie wewnętrzne). Analogiczna sytuacja powstanie w tym przypadku, kiedy argumentami funkcji f1 i f2 będą sygnały z wyjść Q i Q innych przerzutników, przełączających się równocześnie z danym przerzutnikiem. Taki przypadek ma miejsce w rejestrach przesuwających informację, licznikach, itd. Elementy opóźniające (włączone w punktach A) są budowane wyłącznie z elementów logicznych. Pozwala to nie wprowadzać żadnych ograniczeń na czas trwania wejściowych sygnałów informacyjnych. Istnieją dwie podstawowe struktury przerzutników z wewnętrznym opóźnieniem: struktura przerzutnika Master-Slave (MS) lub struktura trzech przerzutników (3T). Struktura przerzutnika MS (rys. 3) składa się z dwóch elementów EZ: podstawowego (przerzutnika M – Master) i pomocniczego (przerzutnika S – Slave). Zapis informacji do przerzutnika M taktowany jest sygnałem C, a do przerzutnika S sygnałem F. Informacja z przerzutnika M kopiowana jest do przerzutnika S poprzez układ pomocniczy W. X1 ... Xn C US f1 EZ f2 M W EZ Q S Q F Rys. 3. Struktura przerzutnika typu Master-Slave Najczęściej wykorzystują się przerzutniki MS z inwersją w układzie synchronizacji, bądź z połączeniami zabraniającymi przełączenie. Struktury takich przerzutników zbudowane na bramkach NAND są przedstawione odpowiednio na rys. 4 i rys. 5. Należy zaznaczyć, że podobne struktury mogą być zbudowane na bramkach NOR . Rys. 4. Przerzutnik MS z inwerterem w układzie synchronizacji Rys. 5. Przerzutnik MS z połączeniami zabraniającymi przełączenie Struktura przerzutnika z wewnętrznym opóźnieniem na elementach NAND zgodnie ze schematem trzech przerzutników została przedstawiona na rys. 6. (podobną strukturę posiada przerzutnik zbudowany na funktorach NOR). W danym przerzutniku poziom logiczny na wyjściu jest ustanawiany zboczem narastającym sygnału taktującego. Przy C=0 przerzutnik podstawowy, realizowany na bramkach 1 i 2 nie zmienia swojego stanu, a elementy 3 i 6 pełnią funkcję inwertera. Rys. 6. Przerzutnik zbudowany w oparciu o strukturę trzech przerzutników Rozpatrzmy teraz przypadek f1=0 i f2=1. Przy C=1 na wyjściu elementu 4 pojawi się niski poziom logiczny, który ustawi przerzutnik zbudowany na elementach 1 i 2 w stan „1” oraz potwierdza wysoki sygnał logiczny na wyjściu elementu 3. W tym momencie sygnały f1 i f2 mogą zmieniać swoje wartości. Wartości f1 i f2 w trakcie zmiany sygnału C z 0 do 1, będą określały stan przerzutnika podstawowego (bramki 1 i 2). Przed syntezą US należy sprecyzować, przy jakich wartościach funkcji wzbudzeń f1 i f2 element zapamiętujący EZ będzie zachowywał swój dotychczasowy stan, a przy jakich wartościach będzie przechodził z jednego stanu do drugiego. Syntezę US przeprowadza się wykorzystując tabelę przełączeń, na podstawie której tworzona jest pełna tabela przełączeń. Z pełnej tabeli przełączeń określane są funkcje f1 i f2, które należy zminimalizować i zrealizować na zadanych elementach logicznych (bramkach). Dla ilustracji rozpatrzymy proces projektowania przerzutnika JK na elementach NAND. W tab. 7 opisującej przełączenia przerzutnika JK, w kolumnie Qs+1 znajduje się wartość Q s . Z tego powodu przerzutnik powinien być zbudowany z wewnętrznym opóźnieniem. Wśród możliwych struktur przerzutników tego typu (rys. 4, 5, 6) wybieramy jedną z nich, np. przedstawioną na rys. 4. Przy zmianie sygnału C z 1 do 0 przerzutnik S, zbudowany na elementach 1 i 2, będzie się przełączał zgodnie z graficzną postacią tabeli przełączeń przedstawioną na poniższym rys. 7. Na tym rysunku znakiem „*” przedstawiono dowolne wartości funkcji f1 i f2. 0 f1 = 1; f2 = ∗ 0 f1 = 0; f2 = 1 0 1 f1 = 1; f2 = 0 1 1 f1 = ∗; f2 = 1 0 1 Rys. 7a. Graficzna postać tabeli przełączeń elementu pamięci EZ zbudowanego w oparciu o bramki NAND f1 = *; f2 = 0 0 0 f1 = 0; f2 = 1 0 1 f1 = 1; f2 = 0 1 0 f1 = 0; f2 = * 1 1 Rys. 7b. Graficzna postać tabeli przełączeń elementu pamięci EZ zbudowanego w oparciu o bramki NOR W oparciu o tabele pracy (tab. 7) przerzutnika JK tworzona jest pełna tabela jego przełączeń, wraz z funkcjami wzbudzeń (patrz tab. 8). Wartości f1 i f2 w tab. 8 są podstawiane zgodnie z graficzną postacią tabeli przełączeń EZ zbudowanego z dwóch bramek NAND (rys. 7a). Posługując się tym rysunkiem należy analizować zmiany stanu przerzutnika (Qs Qs+1) w każdym wierszu tabeli 11. Następnie, wykorzystując diagramy Veitch’a (rys. 8), określane są MNPS obydwu funkcji f1 i f2 (indeksy s można pominąć): f2 = C + Q + K , f1 = C + Q + J , Ostatecznie funkcje f1 i f2 są przekształcane w sposób wygodny do realizacji na bramkach NAND: f1 = C + Q + J f2 = C + Q + = C QJ , K = CQK . Tab. 8. Pełna tabela przełączeń przerzutnika JK ts C s 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 J 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 s K 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 s Q 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ts+1 Qs+1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 0 f1 f2 1 * 1 * 1 * 1 * 1 * 1 1 0 1 0 1 * 1 * 1 * 1 * 1 * 1 * 0 1 * 1 0 Js Cs 0 0 1 1 Js 1 1 * * * 1 * * 1 1 1 1 s Cs K Qs 1 1 * * * 0 1 1 1 0 1 1 * * * * Ks Qs f2 f1 Rys. 8. Diagramy Veitch’a dla funkcji wzbudzenia f1 i f2 przerzutnika JK Przerzutniki synchroniczne typu D, T i JK często mają dodatkowe wejścia asynchroniczne (tzw. wejścia przygotowawcze) służące np. do początkowego ustawienia przerzutnika w stan „0” (wejście R) bądź w stan „1” (wejście S). Budowa przerzutnika JK z wejściami asynchronicznymi R i S przedstawiono na rys. 9. Sygnały podawane na wejścia przygotowujące przerzutnika posiadają wyższy priorytet, niż pozostałe wejścia, tj. odpowiednio przełączają przerzutnik niezależnie od sygnałów podawanych na pozostałe wejścia. Oznaczenia wejść przygotowujących zapisuje się za oznaczeniem wejść logicznych przerzutnika. Przerzutnik typu T z wejściami asynchronicznymi R i S oznacza się symbolami TRS. Na rys. 10 przedstawiono graficznie oznaczenia przerzutników DRS, JKRS i TRS. Jeśli aktywnym poziomem wejścia jest poziom niski, to takie wejście oznaczane jest symbolem „ο”. Wejście posiadające linię ukośną wskazuje jakim zboczem (opadającym bądź narastającym) przełączany jest przerzutnik. Przerzutnik zbudowany zgodnie ze strukturą przerzutnika MS oznacza się literami TT (pozostałe przerzutniki tylko jedną literą T). Rys. 9. Przerzutnik JK o strukturze MS z inwerterem w układzie synchronizacji i wejściami asynchronicznymi RS, zbudowany z bramek NAND S S T D S TT T C J K C T C R R R Rys. 10. Graficzne oznaczenia przerzutników typu DRS, JKRS i TRS Kolejność wykonania ćwiczenia 1. Wykorzystując bramki NOR zbudować przerzutniki synchroniczne sterowane poziomem sygnału zegarowego (zatraski) zgodnie z tabelami przełączeń (patrz tab. 2 – 5). Dla każdego zbudowanego przerzutnika określić czas przełączania się, a także maksymalna częstotliwość sygnału taktującego. Czas propagacji sygnału przez każdy element NAND przyjąć równym r. 2. W oparciu o schemat trzech przerzutników, wykorzystując bramki NOR lub NAND, zbudować przerzutnik typu D. Określić czas przełączenia przerzutnika oraz maksymalną częstotliwość sygnału taktującego. 3. W oparciu o bramki NAND, zbudować przerzutnik Master-Slave działający zgodnie z tabelą przełączeń tab. 8 (zgodnie z numerem zadania otrzymanego od prowadzącego). Dla każdego schematu określić zbocze (narastające lub opadające), sygnału taktującego, które przełącza przerzutnik; określić czas przełączenia przerzutnika oraz maksymalną częstotliwość sygnału taktującego. 4. Zbudować w programie Symulus kilka modeli opracowanych przerzutników (wskazanych przez prowadzącego zajęcia). 5. Zweryfikować prace modeli w różnych trybach. Pytania kontrolne 1. Czym różnią się przerzutniki synchroniczne od asynchronicznych? 2. Czym różnią się przerzutniki synchroniczne sterowane poziomem sygnału taktującego od synchronicznych z wewnętrznym opóźnieniem? W jakich przypadkach wykorzystuje się podane typy przerzutników? 3. Wyjaśnij zasadę pracy przerzutników synchronicznych wykonanych zgodnie ze schematem MS i trzech przerzutników. 4. Wskaż różnice pomiędzy synchronicznymi i asynchronicznymi wejściami przerzutnika synchronicznego. 5. Przedstaw etapy projektowania przerzutników. Zbuduj przerzutnik zgodnie z zadaną tabelą przełączeń. Tab. 8. Tabela wariantów zadania dot. projektowania przerzutników synchronicznych Nr zadania 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Stan wejść X1 i X2 Nr Stan wejść X1 i X2 przerzutnika zadania przerzutnika 00 01 10 11 00 01 10 11 0 Q Q 1 1 Q Q 0 0 Q 1 0 Q 1 0 1 1 0 Q Q 0 1 Q Q 1 Q Q 0 0 Q 1 0 Q 1 0 Q Q 0 1 Q Q 0 Q 1 0 0 Q Q 1 0 Q Q 0 1 Q 1 0 Q Q 1 0 0 0 Q 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Q 1 0 1 0 Q Q 0 1 1 Q ∗ 0 1 Q 0 ∗ Q 1 0 1 Q 0 0 1 Q ∗ ∗ 1 0 1 0 Q 1 1 Q ∗ 0 1 Q Q 0 ∗ 1 0 Q Q ∗ 0 0 Q 1 0 1 1 Q ∗ 0 1 Q 0 ∗ 1 1 6. Porównać pod względem szybkości działania przerzutniki wykonane zgodnie ze schematami MS i trzech przerzutników. 7. W jakich przypadkach w przerzutnikach możliwe jest pojawienie się stanów niestabilnych? Jakie są przyczyny pojawienia się tych stanów oraz w jaki sposób można je wyeliminować? 8. Jak buduje się przerzutnik typu T w oparciu o przerzutniki typu D, JK i RS? 9. Jakie zmiany należy wprowadzić w strukturę przerzutnika z wewnętrznym opóźnieniem, aby zmienić zbocze (z opadającego na narastające i odwrotnie) sygnału taktującego, zgodnie z którym przełącza się przerzutnik? 10. Czy można w układzie cyfrowym zamienić synchroniczny przerzutnik RS na synchroniczny przerzutnik JK (ewentualnie na przerzutniki E,R,S), nie naruszając poprawności działania całego urządzenia?