• Nie Znaleziono Wyników

5. Liczniki i dzielniki częstotliwości – Wojciech Śleszyński

5.1. Cel i zakres ćwiczenia

Celem ćwiczenia jest utrwalenie i uzupełnienie wiedzy na temat liczników i dzielników częstotliwości oraz zapoznanie się z najczęściej stosowanymi rozwiązaniami praktycznymi tych układów.

5.2. Wprowadzenie

Licznikiem nazywa się układ cyfrowy służący do zliczania impulsów i pamiętania ich liczby. Każdy impuls wejściowy powoduję zmianę stanu licznika. Stan licznika utrzymuje się aż do chwili pojawienia się kolejnego impulsu. Liczba różnych stanów licznika P nazywana jest pojemnością (okresem, długością cyklu) licznika. Licznik o pojemności P nazywany jest licznikiem modulo P. Pojemność licznika jest zależna od liczby przerzutników, z których składa się licznik. Liczba przerzutników s potrzebna do zbudowania licznika o pojemności P musi spełniać warunek:

2s ≥ P (5.1)

Liczbę s nazywa się długością lub liczbą bitów licznika. Zazwyczaj jeden spośród P stanów licznika jest przyjęty jako początkowy (zerowy) i może być ustawiany za pomocą specjalnego wejścia zerującego, działającego niezależnie od aktualnej zawartości licznika.

Ze względu na sposób doprowadzania zliczanych impulsów do wejść poszczególnych przerzutników rozróżnia się trzy typy liczników:

⎯ asynchroniczne (szeregowe),

⎯ synchroniczne (równoległe),

⎯ asynchroniczno-synchroniczne (szeregowo-równoległe).

W licznikach asynchronicznych impulsy są podawane tylko na wejście pierwszego prze-rzutnika. Wyjście pierwszego przerzutnika steruje drugim przerzutnikiem itd. Zmiana stanu każdego członu następuje więc dopiero po zmianie poprzedniego członu, a nie synchronicznie z sygnałem wejściowym. Ostatni człon otrzymuje impulsy wejściowe opóźnione o sumę cza-sów przełączania wszystkich poprzednich członów.

W licznikach synchronicznych sygnał wejściowy podawany jest równocześnie na wszystkie stopnie. Zmiana stanu danego stopnia następuje wówczas, gdy wszystkie poprzed-nie stoppoprzed-nie znajdują się w stanach końcowych. Informacja o tym, że dany stopień znajduje się w stanie końcowym jest przesyłana do następnych stopni w postaci sygnału przeniesienia za pośrednictwem dodatkowego układu kombinacyjnego. Zaletą liczników synchronicznych jest większa szybkość działania wynikająca z faktu, że zmiana stanu wszystkich przerzutników następuje jednocześnie (z dokładnością do czasów propagacji przeniesień przez układ kombi-nacyjny). Wadą liczników synchronicznych jest większa złożoność wynikająca z konieczno-ści generowania przeniesień.

Układy asynchroniczno-synchroniczne są wykorzystywane w przypadku liczników o dużej pojemności (większej od 16), budowanych z liczników scalonych. Zazwyczaj łączy się szeregowo kilka scalonych liczników synchronicznych.

Każdemu stanowi licznika można przyporządkować liczbę odpowiadającą kombinacji zer i jedynek logicznych na wyjściach przerzutników. Jeśli liczby te są reprezentacjami natu-ralnego kodu dwójkowego, to licznik nazywamy dwójkowym lub binarnym. Jeśli natomiast reprezentują one wybrany kod dwójkowo-dziesiętny to licznik nazywamy dziesiętnym lub dekadą. W układach sterowania binarnego stosuje się inne kody pracy liczników, np. kod 1 z n (licznik pierścieniowy), kod Johnsona (licznik Johnsona) i inne.

Liczniki dwójkowe i dziesiętne mogą zliczać w przód (w górę), tzn. każdy kolejny im-puls zwiększa o 1 liczbę reprezentującą stan licznika lub wstecz (w dół) – liczba odpowiada-jąca stanowi licznika jest zmniejszana o jeden po każdym impulsie. Liczniki zliczające tylko w przód lub tylko wstecz nazywane są licznikami jednokierunkowymi. Stosowane są również tzw. liczniki rewersyjne (dwukierunkowe), zliczające w przód lub wstecz w zależności od sygnału określającego kierunek zliczania.

Do syntezy liczników synchronicznych można wykorzystać dobrze opracowane metody algebraiczne. Przy użyciu tych metod można przeprowadzić syntezę licznika działającego zgodnie z dowolnym grafem zmian stanu. Dla liczników asynchronicznych (i układów asyn-chronicznych w ogóle) takiej ogólnej metody, jak dotąd, nie opracowano. Istnieje jednak praktyczna metoda pozwalająca na uzyskanie dowolnej pojemności licznika asynchroniczne-go (a także synchroniczneasynchroniczne-go) przez skrócenie cyklu licznika dwójkoweasynchroniczne-go o odpowiedniej długości. Metoda ta polega na detekcji żądanego stanu końcowego i zerowaniu licznika po wykryciu tego stanu (rys. 5.1).

Rys. 5.1. Licznik/dzielnik częstotliwości z detekcją stanu końcowego i zerowaniem

Metodę tą można stosować w odniesieniu do dowolnego licznika, także w wersji scalonej.

Jeśli długość cyklu licznika ma być równa P, to detektor powinien wykrywać wystąpienie na wyjściach licznika stanu reprezentującego liczbę P w kodzie binarnym. Wykrycie stanu P powinno spowodować wyzerowanie licznika. Następuje to w tym samym takcie zegara, w którym licznik osiąga stan P, a więc w jednym takcie zegara na wyjściu licznika można obserwować dwa różne stany. Innymi słowy, w ciągu P taktów zegara licznik przyjmuje P + 1 stanów (0, 1, ..., P), z których jeden, stan P, należy traktować jak stan pasożytniczy. Jego obecność jest niezbędna dla właściwego działania układu, lecz niepożądana (w idealnym licz-niku każdemu taktowi zegara odpowiada tylko jeden stan). Czas trwania tego stanu jest dla układów scalonych rzędu kilkunastu, kilkudziesięciu nanosekund i jest to suma czasu propa-gacji stanu P przez detektor stanu końcowego (wytworzenie impulsu zerującego) oraz czasu propagacji impulsu zerującego do wyjść licznika (zerowanie licznika). Na rys. 5.2a przedsta-wiono przykładowy schemat (z programu Quartus II) umożliwiający uzyskanie dowolnych (programowanych na podstawie tablicy z rys. 5.2rys. c) skróconych cykli licznika 74193. Jeśli

proces zerowania licznika przebiega nierównomiernie, tzn. niektóre przerzutniki w liczniku są zerowane wcześniej niż pozostałe, to w procesie przejściowym związanym z zerowaniem licznika mogą pojawić się także inne niż P, niepożądane stany. Należy zwrócić uwagę na fakt, że z chwilą gdy stan P przechodzi w inny stan na skutek działania impulsu zerującego, impuls ten przestaje być wytwarzany przez detektor, co może prowadzić do niepełnego wyzerowania licznika. Wystąpienie takiej sytuacji oznaczałoby poważne zakłócenie cyklu pracy licznika.

Z tego względu często stosuje się środki zapewniające dostatecznie długi czas trwania impul-su zerującego. Jeden z popularnych sposobów przedstawiono na rys. 5.2b (działanie tego układu należy samodzielnie przeanalizować przed przystąpieniem do ćwiczenia).

a)

Rys. 5.2. Licznik/dzielnik nastawny z wykorzystaniem licznika scalonego 74193 (a);

zastosowanie przerzutnika RS w celu wydłużenia impulsu zerującego licznika (b); tablica ilustrująca programowanie układu (r – rozwarcie, z – zwarcie) (c)

Dzielnikiem częstotliwości nazywany jest układ, na którego wyjściu otrzymuje się jeden impuls co p impulsów wejściowych, czyli częstotliwość wyjściowa dzielnika jest p–krotnie mniejsza od częstotliwości wejściowej. W odróżnieniu od liczników, dzielnik częstotliwości ma tylko jedno wyjście. Oczywiście każdy licznik może pełnić funkcję dzielnika częstotliwo-ści, natomiast odwrotne twierdzenie nie jest prawdziwe. Sposób kodowania stanów nie jest w przypadku dzielnika częstotliwości istotny, co stwarza niekiedy możliwość uproszczenia struktury dzielnika.

Synchroniczne dzielniki częstotliwości można projektować przy użyciu tych samych metod algebraicznych, co w przypadku liczników synchronicznych. Dzielniki asynchroniczne można projektować metodą rozkładu współczynnika podziału p na czynniki [5]. Metoda roz-kładu na czynniki jest nieekonomiczna i mało uniwersalna (nieprzydatna do syntezy dzielni-ków synchronicznych i dzielnidzielni-ków budowanych z licznidzielni-ków scalonych). Dlatego znacznie

częściej realizuje się dzielniki częstotliwości, wykorzystując liczniki (zazwyczaj scalone) z układem detekcji żądanego stanu końcowego i zerowaniem (rys. 5.1 i rys. 5.2). Wyjściem dzielnika jest w tym przypadku wyjście detektora stanu końcowego P, gdzie uzyskuje się je-den impuls zerujący na każde P taktów zegara (podział częstotliwości wejściowej przez P).

Ponieważ czas trwania impulsu zerującego jest bardzo krótki i trudny do precyzyjnego okre-ślenia, a niezawodność całego układu może budzić pewne wątpliwości, często stosuje się wspomnianą już wersję układu z rys. 5.2b.

Dla uzyskania odpowiednio dużych pojemności liczników (współczynników podziału dzielników) budowanych z liczników scalonych często niezbędne jest kaskadowe łączenie kilku mikroukładów. W przypadku scalonych liczników asynchronicznych zazwyczaj łączy się najbardziej znaczące wyjście młodszego stopnia z wejściem starszego stopnia. Scalone liczniki synchroniczne posiadają zwykle specjalne wyprowadzenia służące do łączenia tych układów w bloki o większej pojemności (w ogólnym przypadku dla prawidłowego wykorzy-stania tych wyprowadzeń konieczne jest odwołanie się do literatury pomocniczej, np.: not aplikacyjnych zamieszczanych na stronach internetowych producentów). Liczniki zliczające wprzód mają zazwyczaj tzw. wyjście przeniesienia, na którym poziomem aktywnym, zwykle niskim, sygnalizowane jest osiągnięcie przez licznik stanu 11...1. Liczniki zliczające wstecz wyposażone są w wyjście pożyczki sygnalizujące osiągnięcie przez licznik stanu 00...0.

a) b)

Rys. 5.3. Licznik/dzielnik o programowalnej długości cyklu z wykorzystaniem licznika 74193 (a);

zastosowanie przerzutnika RS dla wyeliminowania wyścigów czasowych podczas ustawiania wejść (b)

Scalone liczniki synchroniczne wyposażone są często w tzw. wejścia ustawiające, umoż-liwiające ustalenie dowolnego stanu początkowego licznika. Stwarza to możliwość łatwej realizacji liczników o programowanej długości cyklu, szczególnie w przypadku liczników zliczających wstecz. Wyjście pożyczki można połączyć z wejściem wpisującym, tj. wejściem uaktywniającym ustawienie licznika, tak aby wystąpienie stanu 00...0 powodowało przepisa-nie do licznika stanu wejść ustawiających. Długość cyklu takiego licznika jest równa liczbie P reprezentowanej przez stan wejść ustawiających, względnie P + 1 zależnie od zastosowanego w wykorzystywanym liczniku scalonym sposobu ustawiania licznika (asynchroniczny lub synchroniczny) oraz od sposobu połączenia wyjścia pożyczki z wejściem wpisującym. Przy-kład licznika/dzielnika o programowanej długości cyklu pracującego według omawianej za-sady przedstawiono na rys. 5.3a (wyjściem dzielnika jest wyjście pożyczki – BON). Zastoso-wany w układzie licznik scalony 74193 charakteryzuje się ustawianiem asynchronicznym.

W przypadku połączenia wyjścia pożyczki układu 74193 z wejściem wpisującym, jak na rys.

5.3a, długość cyklu licznika jest równa P. Liczba stanów, jakie można zaobserwować na wyj-ściu, jest jednak równa P + 1 (dwa stany: 0 i P pojawiają się w tym samym takcie zegara).

Stan P należy uznać za niepożądany, choć jego obecność, podobnie jak w poprzednim rozpa-trywanym układzie z rys. 5.1, warunkuje prawidłowe działanie układu. Ponadto, analogicznie

jak w układzie z rys. 5.2a, istnieje w rozważanym układzie niebezpieczeństwo wystąpienia zakłóceń cyklu pracy licznika w przypadkach dużych różnic w czasach propagacji sygnałów od wejść ustawiających do wyjść poszczególnych przerzutników. Podobnie czas trwania im-pulsu wyjściowego dzielnika jest bardzo krótki, rzędu kilkudziesięciu nanosekund. W wielu przypadkach dla zwiększenia niezawodności działania układu należy zastosować środki wy-dłużające impuls wpisujący (rys. 5.3b).