UKŁADY SEKWENCYJNE - PRZERZUTNIKI ASYNCHRONICZNE I SYNCHRONICZNE MAŁEJ SKALI INTEGRACJI
WSTĘP
Zapamiętywanie wartości wybranych zmiennych binarnych, jak również sekwencji tych wartości odbywa się w kładach zwanych elementami pamięci. Elementami tymi w technice TTL są wszelkiego rodzaju przerzutniki występujące oddzielnie lub w zespołach, połączone w rejestry, liczniki lub bloki pamięci. Celem ćwiczenia jest poznanie podstawowych własności budowy i zasad projektowania przerzutników. Rozwój technologii obwodów scalonych spowodował pojawienie się oprócz rozwiązań klasycznych wielu rozwiązań dotąd nie stosowanych. Symbolika i oznaczenia przerzutników zostały zaczerpnięte z literatury lansującej normy amerykańskie ( MIL. STANDARD), obecnie najczęściej stosowane. Zasadę tę zresztą przyjęto generalnie w całym skrypcie.
PROGRAM ĆWICZENIA
Zbudować z elementów NOR i NAND przerzutniki asynchroniczne sr: a) z dominującym wejściem wpisującym, b) z dominującym wejściem zerującym. Sporządzić siatki przejść i przebiegi czasowe ilustrujące pracę przerzutników.
Zrealizować, używając przerzutników asynchronicznych i bramek, zadane przez prowadzącego ćwiczenie, funkcje logiczne.
Zbudować przerzutnik typu D na podstawie bramek NAND, przeanalizować szczegółowo fazy pracy tego przerzutnika. Sporządzić przebiegi czasowe dla różnych wariantów zmian sygnałów wejściowych.
Sprawdzić możliwość błędnego działania rejestru przesuwającego w wyniku zaistnienia przesunięć impulsów zegarowych (clock-skew) w układzie przedstawionym na Rys. 3-6.
Zbudować przerzutnik synchroniczny wyzwalany dwustopniowo według schematu z Rys. 3-9. Sprawdzić i opisać jego działanie na podstawie przebiegów czasowych z Rys. 3-11 oraz innych sekwencji zmiennych wejściowych. Zbadać wpływ zmiennych SR.
Dokonać porównania zasad pracy przerzutnika, o którym mowa w pkt. 5 programu z dowolnym przerzutnikiem scalonym JK.
Według wzorów przedstawionych na Rys. 3-13 i Rys. 3-14 zbudować i sprawdzić działanie wybranych przerzutników.
ZAWARTOŚĆ ĆWICZENIA
Podział przerzutników scalonych
W aktualnie produkowanych przerzutnikach scalonych TTL wyróżnia się dwa podstawowe rodzaje wejść informacyjnych: - wejścia asynchroniczne, oznaczane małymi literami, - wejścia synchroniczne, oznaczane dużymi literami. Wejścia asynchroniczne przerzutnika to takie, na których zmiana wartości informacji wywołuje bezpośrednio zmianę wartości zmiennych wyjściowych. Wejścia synchroniczne przerzutnika używane są do wywołania zmiany wartości zmiennych wyjściowych, ale zmiana ta następuje w takt impulsu synchronizującego, zwanego również impulsem zegarowym (ang. clock) lub taktującym. Brak impulsu taktującego oznacza, że przerzutnik nie będzie reagował na zmiany wartości zmiennych informacyjnych synchronicznych przerzutnika. W schematach układów elektronicznych stosuje się symbol przerzutnika pokazany na Rys. 3-1. Przerzutnik ma dwa wyjścia komplementarne Q i ~Q oraz pięć wejść: - dwa wejścia informacyjne synchroniczne A i B, - dwa wejścia informacyjne asynchroniczne s i r, - wejście zegarowe C.
Rys. 3-1 Symbole przerzutnika
Sposób oddziaływania zmiennych A i B na wartości zmiennych Q i ~Q jest różny i decyduje on o nazwie typu przerzutnika. Będzie o tym mowa w dalszej części ćwiczenia. Zmienne s i r, zaznaczone na rys. 8.1, oddziałują na wartości zmiennych Q i ~Q. Zmienna s zwana jest zmienną wpisującą (ang. set), czasem ustawiającą (ang. preset). Zmienna r zwana jest zmienną zerującą (ang. reset lub clear). Kółko na wejściu, podobnie jak w przypadku bramek, oznacza inwersję sygnału (~s,~r) lub aktywny niski poziom logiczny zmiennej. Na przykład ~s oznacza wpisanie Q=1 przez s=0, podobnie Q=0 dla r=0. Na wejście oznaczone literą C wprowadza się impuls taktujący; wejście zegarowe. Często część wejść przerzutnika nie jest używana, korzysta się na przykład tylko z wejść synchronicznych lub asynchronicznych. Może być również taka sytuacja, że wykorzystywane są wejścia synchroniczne i jedno z wejść asynchronicznych (np. w licznikach). Gdy o wartości zmiennych wyjściowych przerzutnika decydują tylko wejścia asynchroniczne, mówimy wtedy o przerzutniku asynchronicznym. Gdy stan przerzutnika ulega zmianie pod wpływem impulsu taktującego, mamy do czynienia z przerzutnikiem synchronicznym.
Przerzutniki asynchroniczne
Aktualnie produkowane elementy scalone TTL pozwalają zbudować przerzutniki, których wartości zmiennych Q i ~Q są zależne od wartości ich zmiennych wejściowych. W przerzutnikach asynchronicznych wyróżnia się cztery podstawowe cechy: - dominujące wejście wpisujące, - dominujące wejście zerujące, - aktywny poziom wysoki - H (ustawienie wartości Q=1 odbywa się sygnałem s=1), - aktywny poziom niski - L (ustawienie wartości Q=1 odbywa się sygnałem s=0).
Rys. 3-2 Siatka Karnaugha dla przerzutników asynchronicznych a) wysoki sygnał aktywny, dominujące wejście zerujące b) niski sygnał aktywny, dominujące wejście wpisujące
Na Rys. 3-2 przedstawiono siatki Karnaugha dla przerzutników asynchronicznych s r. Siatka Karnaugha z Rys. 3-2 przedstawia funkcję logiczną dla przerzutnika o wysokim poziomie aktywnym zmiennych wejściowych i dominującym wejściu zerującym (r). Z siatki tej otrzymujemy następującą funkcję logiczną: Q= ~r(s+q). Funkcję tę najprościej można zrealizować za pomocą dwóch elementów NOR. Schemat takiego przerzutnika pokazuje Rys. 3-3. Na Rys. 3-2 przedstawiono także siatkę Karnaugha dla przerzutnika o niskim poziomie aktywnym zmiennych wejściowych i dominującym wejściu wpisującym. Z siatki tej otrzymujemy funkcję: Q= ~s + rq. Najprostszą realizację takiego przerzutnika przedstawiono na Rys. 3-3
Rys. 3-3 Przerzutniki: SR o dominującym wejściu zerującym z wysokim sygnałem aktywnym (lewy), SR o dominującym wejściu wpisującym z niskim sygnałem aktywnym (prawy)
W literaturze spotyka się często opis pracy przerzutnika za pomocą tablicy przejść (Tab. 3-1).
sn |
rn |
Qn+1 |
0 |
0 |
Qn |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
x |
Tab. 3-1 Tablica przejść przerzutnika SR z wysoki sygnałem aktywnym (x - stan nieokreślony)
Opisuje ona zależność wyjścia Q przerzutnika w chwili n+1 od wartości zmiennych s i r w chwili n. Przykład ten dotyczy przerzutnika zmieniającego wartości na wyjściach Q pod wpływem wysokiego poziomu logicznego sygnału wejściowego. Stan "nieokreślony" w tablicy oznacza, że wartości zmiennych Qn+1 będą zależne od dominacji wybranego wejścia przerzutnika (dominuje s lub r).
Przerzutniki synchroniczne
Rozwój technologii obwodów scalonych w bardzo istotny sposób wpłynął na konstrukcję przerzutników. Technologia produkcji obwodów scalonych pozwala na łatwe wykonanie bardzo złożonych struktur logicznych. Jak już wspomniano, w przerzutnikach synchronicznych o poziomie napięć na wyjściach przerzutnika decyduje poziom napięć na jego wejściach informacyjnych, ale przejście przerzutnika do nowego stanu odbywa się w takt impulsu zegarowego. Z punktu widzenia sposobu oddziaływania wejść informacyjnych przerzutników na wartości zmiennych wyjściowych wyróżnia się następujące typy przerzutników synchronicznych: SR (RS), JK, T i D. Tablice przejść przerzutników przedstawiono w Tab. 3-2.
Sn |
Rn |
Qn+1 |
0 |
0 |
Qn |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
x |
Dn |
Qn |
0 |
0 |
1 |
1 |
Jn |
Kn |
Qn+1 |
0 |
0 |
Qn |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
~Qn |
Tn |
Qn |
0 |
Qn |
1 |
~Qn |
Tab. 3-2 Tablice przejść przerzutników synchronicznych
Zastosowanie przerzutników synchronicznych umożliwia sterowanie wszystkimi urządzeniami systemu zgodnie, w takt impulsu zegarowego, co w wielu urządzeniach cyfrowych jest warunkiem nieodzownym. W układach TTL stosuje się przerzutniki synchroniczne wyzwalane zboczem impulsu taktującego oraz przerzutniki wyzwalane dwustopniowo (ang. "Master-Slave"). W innych realizacjach scalonych (DTL, DZTL, itp. ) spotyka się inne sposoby wyzwalania: wyzwalanie zmiennym prądem lub szerokością impulsu taktującego.
Wyzwalanie przerzutników synchronicznych zboczem impulsu taktującego.
Wyzwalanie przerzutnika zboczem impulsu taktującego należy rozumieć jako sposób oddziaływania impulsu taktującego na wartości zmiennych wyjściowych przerzutnika. W impulsie taktującym wyróżnia się narastające (pozytywne dodatnie) zbocze oraz opadające (negatywne ujemne) zbocze. W układach TTL spotyka się najczęściej przerzutniki wyzwalane narastającym zboczem, choć produkowane są również przerzutniki wyzwalane opadającym zboczem. Typowym przedstawicielem przerzutników, których wartość zmiennej ustalana jest w chwili osiągnięcia wysokiego poziomu (minimum 2,4 V) impulsu zegarowego, czyli w trakcie narastania sygnału taktującego, jest przerzutnik typu D o numerze katalogowym 474. Schemat logiczny i przebiegi czasowe przerzutnika 474 ilustrujące jego pracę przedstawiono na Rys. 3-4. Wartość zmiennej wejściowej D zostaje przesunięta na wyjście Q przednim zboczem impulsu zegarowego i zapamiętana tak długo, dopóki nie pojawi się następny impuls taktujący (Rys. 3-4b). Przerzutnik 474 ma dodatkowe wejścia asynchroniczne s - wpisujące i r - zerujące, zaznaczone na Rys. 3-4a linią przerywaną. Wejścia asynchroniczne służą do wstępnego ustawiania lub zerowania złożonych układów budowanych z takich elementów.
Rys. 3-4 Przerzutnik typu D: a) schemat logiczny, b) przebiegi czasowe
Wejście zegarowe przerzutników stanowi znaczne obciążenie dla generatora impulsów taktujących. W standardzie TTL przyjęto współczynnik obciążalności wyjścia dowolnego elementu równy 10 jednostkom który jest równy obciążeniu wnoszonemu przez 10 bramek TTL pracujących w najgorszych dopuszczalnych warunkach pracy. Jak widać z Rys. 3-4a, wejście zegarowe taktuje jednocześnie dwoma bramkami NAND składającymi się na przerzutnik D. Stąd pobór prądu przez wejście zegarowe jest równy dwóm jednostkom TTL. W innych układach współczynnik ten może być jeszcze większy, dlatego przydużej liczbie przerzutników należy pamiętać o konieczności zastosowania układów zmniejszających obciążenie generatorów taktujących. Przykład układu zmniejszającego to obciążenie przedstawia Rys. 3-4a, gdzie dla dziesięciu wzmacniaczy TTL, sterowanych standardowym generatorem, sumaryczny współczynnik obciążenia wynosi 10*10=100 jednostek.
Rys. 3-5 Układ zmniejszający obciążalność generatora taktu: a) zespół wzmacniaczy sterujących, b) zasada sterowania wejść zegarowych przykładowego rejestru szeregowego. GT - generator taktu, K - obciążalność generatora
Zmiana poziomu logicznego zmiennej wyjściowej przerzutnika wyzwalanego zboczem impulsu zegarowego następuje po pewnym czasie, zwanym czasem propagacji, licząc od momentu, gdy napięcie na wejściu zegarowym osiągnie wysoki poziom (2,4 V). Szybkość ta będzie zależała od parametrów elektrycznych bramek wchodzących w skład przerzutnika, jak również od szybkości narastania (opadania) zbocza impulsu taktującego. Gdy w układzie składającym się z szeregowo połączonych przerzutników (w rejestrze przesuwającym) czas propagacji następnego przerzutnika jest większy od czasu propagacji przerzutnika poprzedniego, wtedy proces przepisywania wartości z wejścia informacyjnego na stopniu następnym nie jest jeszcze zakończony, podczas gdy zakończony został ten proces na stopniu poprzednim. Może się więc zdarzyć, że przerzutnik następny będzie miał zmienioną wartość zmiennej informacyjnej w trakcie procesu przepisywania, przejmując w ten sposób nową wartość tej zmiennej. Nastąpi jak gdyby dwukrotne przepisanie wartości zmiennej informacyjnej w jednym takcie impulsu zegarowego. Podobne zjawisko może wystąpić z zastosowaniem układu ( z Rys. 3-5a) zwiększającego obciążalność generatora taktu. Wtedy przerzutniki mogą być taktowane impulsami przesuniętymi w fazie. Przesunięcie to zostanie spowodowane różnymi czasami propagacji wzmacniaczy impulsów taktujących. Układ z Rys. 3-5b będzie wadliwy, gdy impuls taktujący przerzutnik poprzedni będzie wyprzedzał impuls taktujący przerzutnik następny. Błędy czasów propagacji (ang. clock skew) i ich skutki można zaobserwować w układzie pokazanym na Rys. 3-6, zmieniając czas opóźnienia taktowania przerzutnika następnego.
Rys. 3-6 Układ pomiarowy do badania skutków przesunięć impulsów zegarowych w czasie: l - liczba inwertorów, t0 - opóźnienie
Aby uniknąć dokładnego doboru przerzutników (przez pomiar czasów propagacji), można zastosować rozwiązanie zaproponowane na Rys. 3-7.
Rys. 3-7 Układ zabezpieczający przez błędem czasów propagacji przerzutników i układów taktujących
Jak podają katalogi, dopuszczalna wartość "clock skew" wynosi 10 ns. Można, oczywiście, uniknąć problemów związanych z właściwym dopasowaniem czasów propagacji w rejestrach szeregowych, taktując przerzutniki w inny sposób. na przykład dwustopniowo. Oprócz omówionego przerzutnika typu D, wyzwalanego zboczem, produkuje się między innymi przerzutniki JK wyzwalane narastającym zboczem impulsu taktującego oraz przerzutniki JK wyzwalane opadającym zboczem impulsu taktującego.
Wyzwalanie dwustopniowe "Master-Slave" przerzutników synchronicznych
Prosty przerzutnik asynchroniczny sr zbudowany z dwóch bramek NAND (ang. Latch - zatrzask) bywa bardzo często stosowany jako element składowy innych bardzo złożonych bloków. Na Rys. 3-8a na oba wejścia przerzutnika sr wprowadzono dodatkowy układ bramkujący, który umożliwia synchronizację pracy przerzutnika. uzyskuje się w ten sposób przerzutnik synchroniczny SR. Kaskadowe połączenie dwóch takich przerzutników jak na Rys. 3-8c stanowi układ SR taktowany dwustopniowo.
Rys. 3-8 Schemat logiczny przerzutnika synchronicznego SR: a) wyzwalanego przednim zboczem zmiennej C, b) wyzwalanego dwustopniowo c) tablica przejść
Rys. 3-9 Przerzutnik synchroniczny JK wyzwalany dwustopniowo: a) schemat logiczny: M - część Master, S - część Slave
Rys. 3-10 . Przerzutnik synchroniczny JK wyzwalany dwustopniowo: b) fazy przełączania przerzutnika, c) oznaczenia (symbol) przerzutnika.
Również na Rys. 3-9 przedstawiono schemat logiczny przerzutnika zawierającego dwa elementy SR. Pierwszy przerzutnik reaguje na zbocze narastające impulsu zegarowego, a drugi na zbocze opadające. Układ ten jest uproszczoną wersją przerzutnika JK wyzwalanego dwustopniowo. zwanego popularnie przerzutnikiem Master-Slave; pierwszy przerzutnik układu to część Master, przerzutnik drugi to część Slave. Działanie rzeczywistego przerzutnika Master-Slave można rozdzielić na cztery fazy (Rys. 3-10b). W punkcie 1 impulsu zegarowego następuje przerwanie połączenia między częścią Master i częścią Slave, z kolei w punkcie 2 zostają otwarte wejścia bramek dla sygnałów J i K; następuje zapamiętanie wejść części Master, wreszcie w punkcie 4 ma miejsce przepisanie wartości zmiennych wyjściowych przerzutnika Master do przerzutnika Slave, tzn. na wyjściu układu. Opis ten jest bardzo uproszczony, natomiast szczegółowa analiza pracy przerzutnika jest tematem niniejszego ćwiczenia.
Rys. 3-11 Przykładowe przebiegi czasowe dla wyjścia fi przerzutnika JK, Master-Slave
Rys. 3-12 Symbole ważniejszych przerzutników scalonych
Rys. 3-13 Realizacja przerzutników synchronicznych
Rys. 3-14 Realizacja przerzutników asynchronicznych z przerzutników synchroniczych
Na Rys. 3-11 przedstawiono przykładowo przebiegi czasowe ilustrujące pracę przerzutnika JK Master Slave 472 (UCY 7472) dla zwartych wejść J1, J2, J3 oraz zwartych K1, K2, K3. Zaznaczone na schematach zmienne ~s, ~r asynchroniczne ustawiają (~s) i zerują (~r) przerzutnik. Negacja nad zmienną oznacza niski poziom aktywny zmiennej. Na Rys. 3-12 podano symbole ważniejszych przerzutników scalonych. Gdy nie dysponujemy potrzebnym typem przerzutnika, można go zbudować na podstawie innego rodzaju przerzutnika. Przykłady takich rozwiązań zawierają Rys. 3-13 i Rys. 3-14.
LITERATURA
[1] K. Badźmirowski, J. Pieńkos , W. Piesirzyński: Cyfrowe układy MOS - LSI. Warszawa WKiŁ 1979
[2] W. Binkowski, H. Krzyż, J. Piecha: Elektronika analogowa i cyfrowa w zadaniach. Cz. II. Katowice Wydawnictwo Uniwersytetu śląskiego 1981.
[3] J. Kalisz: Cyfrowe układy scalone w technice systemowej. Warszawa MON 1977.
[4] J. Millman, C. Halkias: Układy scalone analogowe i cyfrowe. Warszawa WNT 1976.
[5] P. Misiurewicz, M. Grzybek: Półprzewodnikowe układy logiczne TTL. Warszawa WNT 1979.
[6] F. Wagner: Projektowanie urządzeń cyfrowych. Warszawa WNT 1978.
Instrukcja do ćwiczenia 4 112