następny punkt » |
Rozpatrzmy układ pokazany na rysunku VII.1. W dwubramkowym układzie kombinacyjnym połączono wyjście układu z jednym z wejść. W ten sposób powstało sprzężenie zwrotne. Rozpatrzmy dwa przypadki: gdy na wyjściu jest 1 i gdy na wyjściu jest 0.
Załóżmy najpierw, że na wyjściu układu jest 1. Oznacza to, że na wyjściu bramki B0 jest 0 i że x1 musi być równe 0. Stan taki jest stanem stabilnym bez względu na stan na wejściu x0, gdyż nie wpływa on na zmianę sygnału wyjściowego. Zmianę wartości wyjścia można dokonać tylko w jeden sposób, a mianowicie podając 1 na wejście x1. Na wyjściu układu pojawi się wówczas stan 0.
Załóżmy teraz, że na wyjściu układu jest 0. Stan ten może być spowodowany tym, że na wejściu x1 jest 1 albo na wyjściu bramki B0 jest 1. Dopóki na wejściu x1 jest 1, to stan układu nie może zostać zmieniony. Załóżmy, że na wejściu x1 jest 0, a na wyjściu bramki B0 jest 1. Oznacza to, że na wejściu x0 jest 0. Stan ten jest drugim stanem stabilnym tego układu. Zmianę tego stanu można dokonać podając jedynkę na wejście x0. Wtedy na wyjściu bramki B0 pojawi się 0, a ponieważ na wejściu x1 jest 0, to na wyjściu układu pojawi się 1.
Reasumując można stwierdzić, że układ może znajdować się w dwóch stanach stabilnych, które różnią się wartością sygnału na wyjściu mimo takich samych pobudzeń na obu wejściach (x0 = 0, x1 = 0). Zmiany stanu można dokonać podając jedynkę albo na wejście x0 albo na wejście x1.
Rysunek VII.1. Układ kombinacyjny ze sprzężeniem zwrotnym
Przedstawiony układ może znajdować się w dwóch stanach. Inaczej mówiąc jest to układ z pamięcią stanu. Układy pamiętające swój stan nazywamy układami sekwencyjnymi.
Rysunek VII.2. Przerzutnik RS
Na rysunku VII.2 pokazano narysowany inaczej układ z rysunku VII.1. Ten dwustanowy układ nazywany jest przerzutnikiem RS. Jeśli założymy, że nie pojawi się jednocześnie x0 =1 i x1 = 1, to zawsze y1 jest negacją y0. Dalej przyjmiemy, że y0 jest wyjściem układu i będziemy je oznaczać przez Q a y1 będziemy oznaczać przez . Pojawienie się 1 na wejściu x0 ustawia stan 0 na wyjściu Q przerzutnika, a pojawienie się 1 na wejściu x1 ustawia stan 1 na tym wyjściu. Dlatego wejście x0 jest nazywane wejściem zerującym (gaszącym) układu i oznaczane literą R od angielskiego słowa RESET. Wejście x1 jest nazywane wejściem ustawiającym (zapalającym) i oznaczane literą S od angielskiego słowa SET. Układy kombinacyjne ze sprzężeniem zwrotnym są nazywane asynchronicznymi układami sekwencyjnymi (w tym opracowaniu zostanie pominięte szczegółowe omówienie tej grupy układów). Drugą grupę układów stanowią sekwencyjne układy synchroniczne, w których przerzutniki zmieniają swoje stany w momentach wyznaczonych przez zewnętrzny przebieg zegarowy. Układy synchroniczne, oprócz sygnałów wejściowych, wyposażone są w wejście, na które podaje się przebieg prostokątny zwany przebiegiem zegarowym.
Przykład synchronizowanego przerzutnika typu D pokazano na rysunku VII.3. Przerzutnik taki jest nazywany przerzutnikiem zatrzaskowym. Przerzutnik działa w taki sposób, że zapamiętuje wartość sygnału z wejścia D w czasie trwania wysokiego poziomu na wejściu LE. Jeśli na wejściu D jest 1, to stan ten zostanie zapamiętany i na wyjściu Q będzie 1. Jeśli na wejściu D jest 0, to na wyjściu Q będzie 0.
Rysunek VII.3. Synchroniczny przerzutnik zatrzaskowy typu D a. układ, b. symbol graficzny
Na rysunku VII.4. pokazane są przebiegi sygnału wejściowego D i sygnału LE oraz odpowiadający im przebieg sygnału wyjściowego przerzutnika Q. Z rysunku widać, że zmiana stanu przerzutnika, a zatem i sygnału wyjściowego, następuje po pojawieniu się wysokiego poziomu na wejściu LE. Wadą tego przerzutnika jest jego "przezroczystość" pokazana na rysunku VII.4 w czasie ostatniego impulsu na wejściu LE. W czasie trwania wysokiego poziomu na wejściu LE zmiany na wejściu D przenoszone są na wyjście układu.
Rysunek VII.4. Przebiegi na wejściu i wyjściu synchronizowanego przerzutnika D
Aby uniknąć tej wady producenci układów scalonych oferują przerzutniki zmieniające stan w czasie zbocza sygnału zegarowego. Są przerzutniki zmieniające stan w czasie opadającego zbocza (zmiana sygnału z 1 na 0) i są przerzutniki zmieniające stan w czasie narastającego zbocza (zmiana sygnału z 0 na 1) impulsu zegarowego.
Dla uproszczenia rozważań przyjmiemy dalej, że stosować będziemy przerzutniki zmieniające stan w czasie narastającego zbocza zegara.
Wprowadzimy trzy typy przerzutników: typu D, typu T i typu JK. W rzeczywistości produkowane są jedynie przerzutniki typu D i JK, a przerzutnik typu T łatwo zrobić z przerzutnika typu D, co zostanie dalej pokazane. Symbole graficzne przerzutników pokazano na rysunku VII.5.
Rysunek VII.5. Oznaczenia przerzutników synchronicznych
Trójkąt na wejściu CLK oznacza, że są to przerzutniki, których stan zmienia się w czasie zbocza impulsu zegarowego. Przerzutniki takie mają tą zaletę, że zmiana sygnału wejściowego podczas trwania wysokiego poziomu przebiegu zegarowego nie przedostaje się na wyjście układu. Zaleta ta jest okupiona większą komplikacją układu.
Działanie przerzutników można opisać tzw. tablicą przejść, której wiersze odpowiadają stanom, a kolumny możliwym kombinacjom sygnałów wejściowych. Jak zostanie dalej pokazane taki sposób opisu jest stosowany dla wszystkich sekwencyjnych układów synchronicznych.
Rysunek VII.6. Tablice przejść przerzutników: a. przerzutnika typu D, b. przerzutnika typu T, c. przerzutnika typu JK
Na rysunku VII.6 pokazano tablice przejść trzech typów przerzutników. Tablica przejść ma tyle wierszy ile jest stanów (na rysunku VII.6 dwa) i tyle kolumn ile jest kombinacji sygnałów wejściowych. Tablica pokazuje jaki będzie następny stan układu (względem stanu 0 lub 1 oznaczającego dany wiersz) dla każdego wzbudzenia (oznaczającego daną kolumnę). Następny stan jest wpisany w pole na przecięciu danego wiersza i danej kolumny. Stan ten powstaje po pojawieniu się narastającego zbocza przebiegu zegarowego.
Przerzutnik typu D ma jedno wejście (oznaczane D), więc jego tablica przejść ma dwie kolumny. Jeśli na wejściu przerzutnika D jest 0, to następny stan będzie 0 (pierwsza kolumna), a jeśli na wejściu D jest 1, to następny stan będzie 1 (druga kolumna).
Przerzutnik typu T ma jedno wejście T. Jedynka na tym wejściu powoduje zmianę stanu przerzutnika (w kolumnie oznaczonej jedynką stany mają przeciwne wartości do stanów poprzednich, tj. w wierszu 0 następuje zmiana stanu na 1, a w wierszu 1 zmiana na 0). Zero na wejściu T pozostawia stan poprzedni (w pierwszej kolumnie tablicy stany pozostają bez zmian, tj. w wierszu 0 przerzutnik pozostaje w stanie 0, a w wierszu 1 pozostaje w stanie 1).
Przerzutnik typu JK ma dwa wejścia (oznaczane J i K) i dlatego tablica przejść jest czterokolumnowa. Na rysunku VII.6.c przyjęto kolejność kolumn zgodną z kodem Graya co, jak zostanie później pokazane, ułatwia projektowanie. Jeśli oba sygnały J i K są zerami, to przerzutnik pozostaje w stanie, w którym był (pierwsza kolumna). Jedynka na wejściu J ustawia przerzutnik w stan 1 (czwarta kolumna), a jedynka na wejściu K ustawia przerzutnik w stan 0 (druga kolumna). Pojawienie się jedynek na obu wejściach zmienia stan przerzutnika (trzecia kolumna).
Podczas projektowania synchronicznych układów sekwencyjnych przydatne bywają także tzw. tablice wzbudzeń przerzutników. W tablicach wzbudzeń każdej parze wartości stanu poprzedniego Qt (przed narastającym zboczem impulsu zegarowego) i stanu następnego Qt+1 (po narastającym zboczu impulsu zegarowego) przerzutnika przypisuje się wartości sygnałów wejściowych (wzbudzenia), które powodują daną zmianę. Przypisania należy dokonać dla czterech przypadków zmian z Qt na Qt+1:
Na rysunku VII.7 pokazano tablice wzbudzeń wszystkich trzech typów przerzutników.
Rysunek VII.7. Tablice wzbudzeń przerzutników: a. przerzutnika typu D, b. przerzutnika typu T,
c. przerzutnika typu JK
Z tablicy wzbudzeń przerzutnika typu D wynika, że aby następny stan Qt+1 był 0, to na wejściu D musi być 0, a aby następny stan Qt+1 był 1, to na wejściu musi być 1.
Z tablicy wzbudzeń przerzutnika typu T wynika, że aby następny stan Qt+1 był taki sam jak poprzedni, to na wejściu T musi być 0, a aby następny stan Qt+1 był przeciwny do poprzedniego, to na wejściu musi być 1.
Z tablicy wzbudzeń przerzutnika typu JK wynika, że jeśli przerzutnik jest w stanie 0 i ma w nim pozostać, to na wejściu J musi być 0, a na wejściu K może być stan dowolny. Jeśli przerzutnik jest w stanie 0 i następny stan ma być 1, to na wejściu J musi być 1, a na wejściu K może być stan dowolny. Jeśli przerzutnik jest w stanie 1 i ma nastąpić zmiana na 0, to na wejściu K musi być 1, a na wejściu J może być stan dowolny. Jeśli przerzutnik jest w stanie 1 i ma w nim pozostać, to na wejściu K musi być 0, a na wejściu J może być stan dowolny.
Można wykazać, że każdy z przedstawionych przerzutników można zastąpić dowolnym innym. Przykładowo podając na wejście D funkcję XOR wyjścia przerzutnika Q i wejścia zewnętrznego T otrzymamy przerzutnik typu T.
O tym jak wykorzystuje się tablice wzbudzeń przerzutników w procesie projektowania synchronicznych układów sekwencyjnych będzie mowa w następnym wykładzie.
Omówione przerzutniki są produkowane jako układy scalone zarówno w technologii bipolarnej jak i unipolarnej. Popularnym układem scalonym jest układ 7474 zawierający 2 przerzutniki typu D.
Rysunek VII.8. Symbol graficzny przerzutnika typu D z wejściami ustawiającymi stan
Na rysunku VII.8 pokazano symbol graficzny przerzutnika z układu 7474 wraz z asynchronicznymi wejściami aktywnymi niskim poziomem (kółka na wejściach) umożliwiającymi zerowanie przerzutnika (wejście R) i ustawianie stanu 1(wejście S). Sygnały na wejściach asynchronicznych powodują ustawienia odpowiedniego stanu przerzutnika bez względu na stany na wejściu D i CLK. Nie należy natomiast dopuścić do sytuacji aby przerzutnik był jednocześnie zerowany i ustawiany, tzn. aby na obu wejściach asynchronicznych były jednocześnie zera logiczne. Powoduje to nieprawidłową pracę układu ponieważ na obu wyjściach przerzutnika pojawia się ta sama wartość sygnału (w układzie 7474 jest to logiczna jedynka).
następny punkt » |