Serwis Edukacyjny w I-LO w Tarnowie Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej Autor artykułu: mgr Jerzy Wałaszek |
©2024 mgr Jerzy Wałaszek |
Binarny licznik cyfrowy (ang. binary counter) to urządzenie zliczające impulsy zegarowe. Posiada wejście zegarowe C (ang. clock input) oraz wyjścia, na których w kodzie binarnym 8421 pojawia się stan licznika, czyli liczba zliczonych impulsów zegarowych.
Zastosowanie liczników jest bardzo szerokie. Stosuje się je powszechnie w zegarach cyfrowych, urządzeniach pomiarowych, a nawet w mikroprocesorze, o czym przekonasz się później.
Elektronicy wymyślili całą gamę różnych liczników cyfrowych, my jednakże zajmiemy się tylko najbardziej podstawowymi układami. Na początek zdefiniujmy podstawowy element zliczający, czyli przerzutnik T (ang. Toggle - zmiana, przeskok).
|
Przerzutnik T przy każdym ujemnym zboczu (istnieją również rozwiązania przerzutnika T wyzwalane zboczem dodatnim) sygnału zegarowego (przejściu ze stanu 1 do stanu 0) zmienia stany wyjść na przeciwne. Przerzutnik T nie jest produkowany w formie układu scalonego. Jednakże nie stanowi to żadnego problemu, gdyż można go w prosty sposób zbudować z przerzutnika D lub J-K.
Przerzutnik T z przerzutnika D |
Przerzutnik T z przerzutnika J-K |
Przerzutnik T zbudowany z przerzutnika D jest wyzwalany zboczem dodatnim (przejściem sygnału zegarowego z poziomu 0 na 1). Przerzutnik T zbudowany z przerzutnika J-K jest wyzwalany zboczem ujemnym. Należy na to zwrócić uwagę przy konstrukcji liczników cyfrowych.
Licznik asynchroniczny powstaje, gdy kilka przerzutników T połączymy szeregowo ze sobą, tak aby wyjście Q jednego przerzutnika łączyło się z wejściem T następnego. Nazwa asynchroniczny (czyli niejednoczesny) pochodzi stąd, iż wyjścia przerzutników nie zmieniają się równocześnie, tylko kaskadowo - stan licznika ustala się dopiero po czasie równym sumie czasów propagacji poszczególnych przerzutników.
Poniżej umieściliśmy symulację 4 bitowego licznika w kodzie 8421.
Stan licznika odczytujemy z wyjść Q poszczególnych przerzutników. Z boku mamy wykres przebiegów poszczególnych sygnałów w liczniku. Kolorem czerwonym w sygnale zegarowym zaznaczyliśmy ujemne zbocza, które wyzwalają zmiany w pierwszym przerzutniku T. Ten z kolei steruje drugim przerzutnikiem T, itd. Po zliczeniu 16 impulsów licznik się zeruje.
Liczniki binarne są produkowane w postaci gotowych układów scalonych. Poniżej opisujemy przykład takiego układu z licznikiem binarnym.
SN7493 -
asynchroniczny licznik binarny
Układ scalony SN7493 zawiera 4 przerzutniki J-K Master/Slave połączone w taki sposób, iż tworzą dwa niezależne liczniki - jednobitowy oraz trzybitowy. Wszystkie przerzutniki mogą być wspólnie zerowane - w tym celu należy podać na wejścia R0(1) i R0(2) stan wysoki.
Aby uzyskać licznik 4 bitowy, należy wyjście QA (z licznika 1 bitowego) połączyć z wejściem CKB (wejście zegarowe licznika 3 bitowego). Zliczane impulsy należy podawać na wejście CKA.
Układ SN7493 ma wiele ciekawych zastosowań. Poniżej opisujemy niektóre z nich.
Operacja modulo n daje w wyniku resztę z dzielenia przez n. Na przykład:
8 mod 5 = 3, gdyż 5 mieści się w 8 jeden raz i zostaje reszta 3.
Reszta z dzielenia jest zawsze mniejsza od n i daje wyniki mieszczące się w przedziale od 0 do n - 1. Liczbę n nazywamy modułem.
Licznik modulo n jest układem cyfrowym, który zlicza n - 1 impulsów zegarowych, a przy n-tym impulsie zeruje się. W wyniku wartości zliczone przez licznik tworzą ciąg 0, 1, 2, ..., n-1 (wartości te są reprezentowane w kodzie binarnym 8421). Na przykład licznik modulo 5 będzie przyjmował następujące stany dla kolejnych impulsów zegarowych:
modulo 5 : 000 → 001 → 010 → 011 → 100 → 000 → 001 ...
Po osiągnięciu stanu 100, który w kodzie 8421 oznacza liczbę 4, kolejny impuls zegarowy zeruje licznik i cykl zliczania rozpoczyna się od nowa.
Standardowo SN7493 jest licznikiem binarnym, który zlicza impulsy zegarowe w kodzie 8421. Jednakże wykorzystując fakt, iż układ zawiera dwa oddzielne liczniki binarne (jedno i trzybitowy) oraz dwa wejścia zerujące (R0 ( 1 ) i R0 ( 2 )) można skonstruować liczniki binarne zliczające impulsy zegarowe do wartości n-1. Po osiągnięciu stanu n-1 licznik modulo n jest zerowany po kolejnym impulsie zegarowym i zliczanie rozpoczyna się od początku.
Zasada budowy liczników modulo n jest bardzo prosta. Otóż badamy stan bitów wyjściowych, które dla wartości równej n przyjmują poziom 1. Gdy tak się stanie, zerujemy licznik podając na wejścia R0 ( 1 ) i R0 ( 2 ) stany wysokie. W wielu przypadkach nawet nie musimy dołączać do układu SN7493 żadnych dodatkowych elementów - wykorzystujemy bity wyjściowe do bezpośredniego sterowania wejść zerujących. Dla przykładu rozważmy licznik modulo 3. Wykorzystujemy w nim człon licznika 3-bitowego.
Przeanalizujmy ten układ.
Sygnał zegarowy C jest doprowadzony do wejścia CKB, które jest wejściem zliczającym licznika 3 bitowego. Wejścia zerujące R0 ( 1 ) i R0 ( 2 ) są połączone z wyjściami QB i QC. Gdy nadejdzie pierwszy impuls zegarowy, to na jego zboczu opadającym wyjście QB zmieni swój stan z 0 na 1. Licznik zliczył pierwszy impuls i jest w stanie 1 ( patrz, wykres obok układu licznika ) . Na zboczu opadającym drugiego impulsu zegarowego wyjście QB zmieni swój stan na 0, a z kolei wyjście QC przyjmie stan 1 - licznik ma stan 2. Przy trzecim impulsie zegarowym stan wyjścia QB znów zmieni się na 1 - licznik będzie w stanie 3. Jednakże teraz oba wejścia zerujące R0 ( 1 ) i R0 ( 2 ) są w stanie 1. Powoduje to wyzerowanie licznika, który przejdzie do stanu 0 i cały cykl rozpocznie się od nowa.
Zwróć uwagę, iż przez bardzo krótką chwilę na wyjściach licznika pojawia się stan 3 (oba wyjścia QB i QC są w stanie 1). Stan 3 wykorzystujemy do wysterowania wejść zerujących. Jest to cechą charakterystyczną asynchronicznych liczników modulo n.
Poniżej przedstawiamy układy liczników modulo n, które można zrealizować z licznika SN7493.
n | Układ licznika modulo n | n | Układ licznika modulo n | n | Układ licznika modulo n | ||
2 | 7 | 12 | |||||
3 | 8 | 13 | |||||
4 | 9 | 14 | |||||
5 | 10 | 15 | |||||
6 | 11 | 16 |
Przez częstotliwość sygnału cyfrowego (ang. digital signal frequency) rozumiemy ilość impulsów (kolejnych zmian stanu z 0 na 1 i z powrotem z 1 na 0) w jednostce czasu. Jednostką częstotliwości jest Herz (Hz):
1 Hz to jeden impuls sygnału cyfrowego w ciągu jednej sekundy.
Jeśli zatem w ciągu jednej sekundy napłynie 15 impulsów, to powiemy, iż ten sygnał cyfrowy ma częstotliwość 15 Hz. W technice cyfrowej częstotliwości sygnałów mogą być bardzo duże. Dlatego wykorzystujemy większe jednostki:
1 kHz (kiloherz) = 1000 Hz
1 MHz (megaherz) = 1000 kHz = 1000000 Hz
(milion)
1 GHz (gigaherz) = 1000 MHz = 1000000000 Hz
(miliard)
Cyfrowy dzielnik częstotliwości (ang. digital frequency divider) jest układem, który generuje jeden impuls wyjściowy po każdych n impulsach zegarowych. Dzielnik częstotliwości można w prosty sposób uzyskać z licznika modulo n. Jeśli n jest potęgą liczby dwa - czyli podział częstotliwości następuje przez 2, 4, 8 itd, to sygnał wyjściowy po prostu pobieramy z odpowiedniego bitu wyjściowego licznika.
n | Dzielnik częstotliwości | n | Dzielnik częstotliwości | |
2 | 8 | |||
4 | 16 |
Dla pozostałych n wykorzystujemy podane wyżej układy liczników modulo n. Sygnał wyjściowy W tworzymy z iloczynu sygnałów zerujących R0 ( 1 ) i R0 ( 2 ) . Poniżej podajemy przykład dzielnika przez 10. Układ generuje krótkie, ujemne impulsy (dla impulsów dodatnich należy zastosować bramkę AND zamiast NAND) po każdych 10 impulsach zegarowych:
Moduły dzielników można łączyć ze sobą. Poniżej mamy przykład dzielnika przez 1000 zbudowanego z trzech dzielników przez 10:
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2024 mgr Jerzy Wałaszek |
Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.