następny punkt » |
Graf typowego licznika ma postać jak na rysunku IX.1. Cechą takiego grafu jest to, że stany układu tworzą zamkniętą pętlę zwaną cyklem liczenia. W przykładowym liczniku liczba stanów wynosi 8 i mówi się wtedy, że jest to licznik modulo 8.
Na rysunku nie przypisano węzłom grafu sygnałów wyjściowych, a strzałkom grafu sygnałów wejściowych. Pierwszy problem wynika stąd, że w układach liczników najczęściej przyjmuje się, że wyjściami układu są wyjścia przerzutników. Drugi problem wynika z założenia, że jedynym wejściem układu jest wejście CLK dla przebiegu zegarowego. W takim układzie zmiany stanów następują wraz z przyjściem każdego impulsu zegarowego.
Rysunek IX.1. Graf licznika ośmiostanowego
Projektuje się także liczniki, które mają jeszcze inne wejścia (zostanie to dalej pokazane), a także projektuje się liczniki, dla których określa się funkcje wyjść. Wtedy grafy takich liczników są bardziej rozbudowane.
Poszczególne stany liczników kodować można na różne sposoby. Jednym z często stosowanych kodów jest kod NKB. Tablicę przejść ośmiostanowego licznika, którego stany zakodowano w kodzie NKB pokazano na rysunku IX.2.a.
Rysunek IX.2. Tablica przejść ośmiostanowego licznika w kodzie NKB a. licznika następnikowego, b. licznika poprzednikowego
Licznik, którego tablica przejść jest na rysunku IX.2.a nazywany jest licznikiem następnikowym. Każdy następny stan tego licznika ma kod o 1 większy od kodu stanu poprzedniego (w kodzie NKB), oprócz stanu "ostatniego". W przykładowym liczniku kod stanu ostatniego to 111, a kod stanu następnego względem niego to 000.
Licznik, którego tablica przejść jest na rysunku IX.2.b nazywany jest licznikiem poprzednikowym. Kod każdego następnego stanu licznika jest o 1 mniejszy od stanu poprzedniego (w kodzie NKB), oprócz stanu "pierwszego". W przykładowym liczniku kod stanu pierwszego to 000, a kod stanu następnego to 111.
Wykorzystuje się także liczniki, które mogą być następnikowe albo poprzednikowe, w zależności od dodatkowego sygnału wejściowego. Liczniki, w których można ustawiać kierunek liczenia nazywane są licznikami rewersyjnymi.
Zaprojektujmy teraz układ sekwencyjny, którego tablica przejść jest jak na rysunku IX.2.a. Załóżmy, że licznik będzie zbudowany z przerzutników typu T. Funkcje wzbudzeń wszystkich trzech przerzutników zależą wyłącznie od stanów przerzutników i dlatego są funkcjami trzech zmiennych. Zgodnie z tym co zostało powiedziane w poprzednim wykładzie można wyznaczyć mapy Karnaugha tych funkcji. Mapy te pokazano na rysunku IX.3.
Rysunek IX.3. Mapy Karnaugha funkcji wzbudzeń przerzutników typu T licznika następnikowego
Układ trzybitowego licznika następnikowego pokazano na rysunku IX.4.
Rysunek IX.4. Układ trzybitowego licznika następnikowego
Dokonując analogicznej syntezy trzybitowego licznika poprzednikowego otrzyma się, że T2 = 1
0, T1 =
0, T0 = 1. W funkcjach wzbudzeń T2 i T1 licznika następnikowego występują zmienne Qi poprzednich stopni licznika, a w funkcjach wzbudzeń licznika poprzednikowego zmienne
i.
Zaprojektujmy teraz licznik następnikowy wyposażony w wejście zezwalające. Na rysunku IX.5 pokazano tablicę przejść licznika z wejściem E.
Rysunek IX.5. Tablica przejść licznika ośmiostanowego z wejściem zezwalającym E
Zgodnie z przyjętymi wcześniej zasadami załóżmy, że do realizacji wybierzemy przerzutniki typu T i utworzymy mapy Karnaugha funkcji wzbudzeń. Mapy dla wszystkich trzech przerzutników pokazano na rysunku IX.6.
Rysunek IX.6. Funkcje wzbudzeń przerzutników typu T dla tablic z rysunku IX.5
Po minimalizacji otrzymamy że:
T2 = Q1Q0E
T1 = Q0E
T0 = E
Rysunek IX.7. Układ licznika następnikowego z wejściem zezwalającym E
Układ realizujący tablicę przejść z rysunku IX.5 pokazano na rysunku IX.7. Można zauważyć, że jedyną różnicą pomiędzy układami z rysunku IX.4 i IX.7 jest sygnał na wejściu licznika. W pierwszym przypadku podano na stałe jedynkę, a w drugim sygnał E.
Rysunek IX.8. Tablica przejść licznika rewersyjnego
Rozważmy teraz tablicę przejść pokazaną na rysunku IX.8. Układ sekwencyjny opisany taką tablicą ma wejście nazwane P/N ustawiające licznik w jednym z dwóch trybów pracy: licznika następnikowego i licznika poprzednikowego. Na rysunku IX.9 pokazano układ licznika rewersyjnego opisanego tablicami przejść z rysunku IX.8. Analizując przedstawione na rysunku IX.9 funkcje wzbudzeń można zauważyć, że jeśli P/N = 0, to na wyjściach dolnych iloczynów jest 0, a górne iloczyny podają na wejście T następnego stopnia licznika wartość Q. Układ zachowuje się wtedy jak pokazany na rysunku IX.4, więc jest licznikiem następnikowym. Jeśli P/N = 1, to na wyjściach górnych iloczynów jest 0, a dolne iloczyny podają na wejście T następnego stopnia licznika wartość . Licznik jest wtedy licznikiem poprzednikowym.
Rysunek IX.9. Licznik rewersyjny
Rozważmy teraz działanie układu pokazanego na rysunku IX.10. Z definicji przerzutnika typu T wynika, że jeśli na wejściu T jest stale jedynka, to przerzutnik, podczas każdego impulsu zegarowego, zmienia swój stan.
Rysunek IX.10. Przerzutnik typu T ze stałą jedynką na wejściu
Na rysunku IX.11 pokazano przebiegi wejściowe i wyjściowe układu z rysunku IX.10. pokazanego. Na rysunku IX.11 nie uwzględniono opóźnienia wnoszonego przez układ, a w szczególności przez przerzutnik.
Rysunek IX.11. Przebieg na wejściu i wyjściu przerzutnika typu T
Założono, że stan przerzutnika zmienia się w momencie narastającego zbocza przebiegu zegarowego. Impulsy zegarowe są najczęściej okresowym przebiegiem o pewnej częstotliwości f. Na wyjściu przerzutnika powstaje przebieg okresowy o częstotliwości f/2. Przerzutnik typu T, na którego wejściu jest stale jedynka jest dzielnikiem częstotliwości przez 2. Łącząc ze sobą takie układy można budować tzw. liczniki asynchroniczne (w przeciwieństwie do omawianych wyżej liczników synchronicznych poszczególne przerzutniki zmieniają swój stan w różnych chwilach). Na rysunku IX.12 pokazano trzybitowy licznik i przebiegi na wyjściach przerzutników.
Rysunek IX.12. Trzybitowy licznik asynchroniczny poprzednikowy: a. układ, b. przebiegi na wyjściach przerzutników
Jak widać na przedstawionych rysunkach liczniki asynchroniczne są prostsze (funkcje wzbudzeń nie wymagają zastosowania bramek) ale ich wadą jest to, że stany przerzutników zmieniają się w różnych chwilach.
Przykład
Zaprojektować trzybitowy licznik synchroniczny, którego kolejność stanów zmienia się jak poniżej:
000, 100, 010, 001, 011, 101, 110, 000, ....
Zaprojektujemy licznik bez wejścia zezwalającego i założymy, że stany licznika zmieniają się w momencie pojawienia się narastających zboczy impulsów zegarowych. Tablica przejść takiego układu została pokazana na rysunku IX.13.
Rysunek IX.13. Tablica przejść przykładowego licznika
Projektując układ należy założyć typ wykorzystywanych przerzutników. W tym zadaniu przyjmiemy, że projektowany układ będzie realizowany za pomocą przerzutników typu D. Ponadto założymy, że wyjściami układu będą wyjścia przerzutników.
Na podstawie zadanej tablicy przejść można utworzyć mapy Karnaugha funkcji wzbudzeń trzech przerzutników. Do tego celu służą tablice wzbudzeń przerzutników podane w wykładzie VII. Procedura tworzenia map Karnaugha przy założeniu przerzutników typu D jest bardzo prosta. W każde pole Q2Q1Q0 odpowiadające poszczególnym kombinacjom tych zmiennych wpisuje się wartość z kolumny "następny stan" dla danej kombinacji. Przykładowo w pole mapy odpowiadające kombinacji Q2Q1Q0 = 000 (lewe górne pole mapy) wpisuje się wartości z kolumny "następny stan" i z pierwszego wiersza tablicy przejść. Można zauważyć, że projektowany licznik jest siedmiostanowy i nie występuje kombinacja 111. Dlatego w mapach Karnaugha w polach odpowiadających tej kombinacji postawiono kreski.
Rysunek IX.14. Przykładowy licznik: a. mapy Karnaugha funkcji wzbudzeń, b. układ
Na rysunku IX.14 pokazano mapy Karnaugha funkcji wzbudzeń przerzutników projektowanego układu (rys. IX.14.a) i układ licznika (rys.IX.14.b).
następny punkt » |