Wprowadzenie do liczników cyfrowych
Licznik cyfrowy przechowuje stan reprezentujący liczbę wystąpień zdarzenia lub etap sekwencji, a jego wyjścia mogą tę wartość udostępniać. Jest podstawowym układem logiki cyfrowej stosowanym w systemach obliczeniowych do zliczania, generowania złożonych sekwencji i pomiaru częstotliwości. W układzie binarnym kolejne wartości są kodowane jako kombinacje bitów, więc przepełnienie rozpoczyna następną pełną sekwencję. Maksymalna szybkość zależy od technologii, opóźnień propagacji i sposobu taktowania. Podobną funkcję pełni licznik kilometrów w samochodzie albo ręczny licznik mechaniczny. Układ cyfrowy realizuje ją w rytmie zegarowym.
Liczniki są budowane z kaskady , gdzie każdy przerzutnik może przechowywać jeden bit informacji. Licznik -bitowy, zbudowany z przerzutników, może zliczać od 0 do .
Liczniki asynchroniczne (falowe)
W typowym binarnym liczniku asynchronicznym, nazywanym także licznikiem falowym (ang. ripple counter), przerzutniki nie otrzymują wspólnego zbocza zegara. Zmiana wyjścia jednego przerzutnika wyzwala wejście zegarowe następnego w łańcuchu. Kolejne stopnie zmieniają stan po sobie, a częstotliwość sygnału na każdym stopniu jest odpowiednio dzielona.
Działanie i charakterystyka
- Prosta budowa Typowy układ składa się z przerzutników połączonych szeregowo, bez dodatkowych bramek logicznych między kolejnymi stopniami.
- Opóźnienie propagacji Każdy przerzutnik jest wyzwalany przez poprzedni, więc na każdym etapie występuje opóźnienie (). Dla licznika -bitowego czas ustalenia ostatniego bitu jest w przybliżeniu sumą opóźnień poszczególnych stopni. Ogranicza to maksymalną częstotliwość zegara, przy której licznik może działać niezawodnie.
- Hazard dekodowania Podczas przejścia między stanami kolejne wyjścia zmieniają się w różnych chwilach. Przez krótki czas licznik może podawać przejściową wartość inną od obu stabilnych stanów. Problem występuje szczególnie wtedy, gdy wyjście steruje innym układem logicznym.
Liczniki synchroniczne
Licznik synchroniczny ogranicza opóźnienie kaskadowe i hazardy typowe dla licznika falowego. Wszystkie przerzutniki korzystają ze wspólnego sygnału zegarowego i reagują na to samo zbocze. Wspólne taktowanie pozwala aktualizować kolejne bity w jednym cyklu zegara. O tym, czy dany przerzutnik zmieni stan, decyduje dodatkowa , która wyznacza kolejny stan.
Działanie i charakterystyka
- Wysoka szybkość Wszystkie przerzutniki otrzymują wspólne zbocze zegara. Czas ustalenia wyniku zależy od opóźnienia przerzutnika i ścieżki logiki sterującej, dlatego licznik może pracować z wyższą częstotliwością niż licznik falowy.
- Ograniczenie hazardów Wspólne zbocze ogranicza przejściowe wartości wynikające z propagacji fali. Opóźnienia przerzutników i logiki kombinacyjnej nadal mogą powodować krótkie impulsy w dekoderach.
- Bardziej złożona budowa Dodatkowe bramki logiczne sterują stanem poszczególnych przerzutników, więc projekt jest bardziej złożony, szczególnie dla liczników o dużej liczbie bitów.
Konfiguracje i typy specjalne liczników
Poza podziałem na liczniki asynchroniczne i synchroniczne układy mogą mieć dodatkowe funkcje. Wybór konfiguracji zależy od wymaganej sekwencji stanów, szybkości pracy i sposobu sterowania:
- Liczniki rewersyjne (góra i dół) Mają wejście sterujące określające, czy przy każdym impulsie zegara licznik zwiększa, czy zmniejsza wartość.
- Liczniki dekadowe (BCD) Zliczają dziesięć stanów, od 0 do 9, a następnie wracają do początku sekwencji. Stosuje się je przy wyświetlaniu liczb dziesiętnych zapisanych w kodzie BCD (Binary-Coded Decimal). Mają równe 10.
- Liczniki pierścienioweTo rejestry przesuwne, w których wyjście ostatniego przerzutnika jest połączone z wejściem pierwszego. Po prawidłowym zainicjowaniu jedna '1' krąży w "pierścieniu", co ułatwia realizację prostych sekwencji.
- Liczniki Johnsona Są podobne do liczników pierścieniowych, lecz do wejścia pierwszego stopnia wraca zanegowane wyjście ostatniego stopnia. -bitowy licznik Johnsona generuje sekwencję stanów, czyli dwa stany na każdy stopień.