Licznik (cyfrowy) - Counter (digital)

Zmiany napięcia na 5 wyjściach licznika binarnego liczącego od 00000, lewe do 11111 (lub 31), prawe (w pionie).

W logice cyfrowej i przetwarzania , A licznika jest urządzenie, które przechowuje (czasami wyświetla) liczbę razy w szczególności zdarzenie lub proces ma miejsce, często w stosunku do zegara . Najpopularniejszym typem jest sekwencyjny cyfrowy obwód logiczny z linią wejściową zwaną zegarem i wieloma liniami wyjściowymi. Wartości w liniach wyjściowych reprezentują liczbę w systemie liczb binarnych lub BCD . Każdy impuls podany na wejście zegara zwiększa lub zmniejsza liczbę w liczniku.

Obwód licznika jest zwykle zbudowany z kilku przerzutników połączonych kaskadowo. Liczniki są bardzo szeroko stosowanym komponentem w układach cyfrowych i są produkowane jako oddzielne układy scalone, a także jako części większych układów scalonych.

Liczniki elektroniczne

Elektroniczny licznik jest sekwencyjna logiczny obwód, który odbiera sygnał wejściowy zegarowy i grupę sygnały wyjściowe, które reprezentują liczbę całkowitą „liczy” wartość. Po każdym zakwalifikowanym zboczu zegara obwód będzie zwiększał (lub zmniejszał, w zależności od projektu obwodu) zliczenia. Gdy zliczenia osiągną koniec sekwencji zliczania (maksymalna liczba zliczeń podczas inkrementacji; zero zliczeń podczas dekrementacji), następny zegar spowoduje przepełnienie lub niedomiar zliczania, a sekwencja zliczania rozpocznie się od nowa. Wewnętrznie liczniki używają przerzutników do reprezentowania bieżących zliczeń i do przechowywania zliczeń między zegarami. W zależności od typu licznika wyjście może być bezpośrednią reprezentacją zliczeń (liczba binarna) lub może być zakodowane. Przykładami tych ostatnich są liczniki pierścieniowe i liczniki, które wyświetlają kody Graya.

Wiele liczników dostarcza dodatkowe sygnały wejściowe ułatwiające dynamiczną kontrolę sekwencji liczenia, takie jak:

  • Reset – ustawia liczniki na zero. Niektórzy producenci układów scalonych nazywają go „czystym” lub „głównym resetem (MR)”.
  • Włącz – zezwala lub wstrzymuje liczenie.
  • Kierunek – określa, czy liczenia będą się zwiększać, czy zmniejszać.
  • Dane – równoległe dane wejściowe, które reprezentują konkretną wartość zliczeń.
  • Load – kopiuje równoległe dane wejściowe do liczników.

Niektóre liczniki zapewniają wyjście Terminal Count, które wskazuje, że następny zegar spowoduje przepełnienie lub niedomiar. Jest to powszechnie używane do implementacji kaskadowania liczników (łączenia dwóch lub więcej liczników w celu utworzenia jednego, większego licznika), poprzez podłączenie wyjścia Terminal Count jednego licznika do wejścia Enable następnego licznika.

Moduł licznika to liczba stanów w jego sekwencji zliczania. Maksymalny możliwy moduł zależy od liczby przerzutników. Na przykład czterobitowy licznik może mieć moduł do 16 (2^4).

Liczniki są generalnie klasyfikowane jako synchroniczne lub asynchroniczne. W licznikach synchronicznych wszystkie przerzutniki mają wspólny zegar i jednocześnie zmieniają stan. W licznikach asynchronicznych każdy przerzutnik ma unikalny zegar, a stany przerzutnika zmieniają się w różnym czasie.

Liczniki synchroniczne są podzielone na różne kategorie. Na przykład:

  • Licznik modułu – zlicza przez określoną liczbę stanów.
  • Licznik dekad – licznik o module 10 (odlicza przez dziesięć stanów).
  • Licznik w górę/w dół – zlicza zarówno w górę, jak i w dół, zgodnie z poleceniem wejścia sterującego.
  • Licznik pierścieniowy – utworzony przez „kołowy” rejestr przesuwny .
  • Licznik Johnsona – licznik skręconych pierścieni.
  • Licznik kodów Graya – wyświetla sekwencję kodów Graya.

Liczniki są implementowane na różne sposoby, w tym jako dedykowane układy scalone MSI i LSI , jako wbudowane liczniki w układach ASIC , jako uniwersalne liczniki i urządzenia peryferyjne czasowe w mikrokontrolerach oraz jako bloki IP w układach FPGA .

Licznik asynchroniczny (ripple)

Licznik asynchroniczny utworzony z dwóch przerzutników JK

Licznik asynchroniczny (ripple) to „łańcuch” przerzutników (T), w którym najmniej znaczący przerzutnik (bit 0) jest taktowany sygnałem zewnętrznym (zegar wejściowy licznika), a wszystkie inne przerzutniki są taktowany przez wyjście najbliższego, mniej znaczącego przerzutnika (np. bit 0 taktuje przerzutnik bitu 1, bit 1 taktuje przerzutnik bitu 2 itd.). Pierwszy flip-flop jest taktowany przez rosnące krawędzie; wszystkie inne klapki w łańcuchu są taktowane opadającymi krawędziami zegara. Każdy przerzutnik wprowadza opóźnienie od krawędzi zegara do przełączenia wyjścia, powodując w ten sposób zmianę bitów licznika w różnym czasie i powodując efekt tętnienia, gdy zegar wejściowy propaguje się w łańcuchu. W przypadku implementacji z dyskretnymi przerzutnikami, liczniki tętnień są zwykle implementowane z przerzutnikami JK , przy czym każdy przerzutnik jest skonfigurowany tak, aby przełączał się po taktowaniu (tj. J i K są połączone z wysokim stanem logicznym).

W najprostszym przypadku licznik jednobitowy składa się z jednego przerzutnika. Licznik ten będzie się zwiększał (przełączając wyjście) raz na cykl zegara i liczy od zera do jednego przed przepełnieniem (zaczynając od zera). Każdy stan wyjścia odpowiada dwóm cyklom zegara, a w konsekwencji częstotliwość wyjściowa przerzutnika jest dokładnie połową częstotliwości zegara wejściowego. Jeśli to wyjście jest następnie używane jako sygnał zegarowy dla drugiego przerzutnika, para przerzutników utworzy dwubitowy licznik tętnień z następującą sekwencją stanów:

Cykl zegara Q1 Q0 (Q1:Q0) dziesiętny
0 0 0 0
1 0 1 1
2 1 0 2
3 1 1 3
4 0 0 0

Do łańcucha można dodać dodatkowe przerzutniki, aby utworzyć liczniki o dowolnym rozmiarze słowa, z częstotliwością wyjściową każdego bitu równą dokładnie połowie częstotliwości najbliższego, mniej znaczącego bitu.

Liczniki tętnień wykazują niestabilne stany wyjściowe, gdy zegar wejściowy propaguje w obwodzie. Czas trwania tej niestabilności (czas ustalania wyjścia) jest proporcjonalny do liczby przerzutników. To sprawia, że ​​liczniki tętnień nie nadają się do stosowania w obwodach synchronicznych, które wymagają od licznika szybkiego czasu ustalania wyjścia. Ponadto często niepraktyczne jest używanie bitów wyjściowych licznika tętnień jako zegarów w obwodach zewnętrznych, ponieważ efekt tętnienia powoduje przekrzywienie taktowania między bitami. Liczniki tętnień są powszechnie używane jako liczniki ogólnego przeznaczenia i dzielniki częstotliwości taktowania w aplikacjach, w których chwilowe zliczanie i skos czasowy są nieistotne.

Licznik synchroniczny

4-bitowy licznik synchroniczny wykorzystujący przerzutniki JK

W liczniku synchronicznym wejścia zegarowe przerzutników są ze sobą połączone, a wszystkie przerzutniki są jednocześnie wyzwalane przez wspólny zegar. W konsekwencji wszystkie przerzutniki zmieniają stan w tym samym czasie (równolegle).

Na przykład, obwód pokazany po prawej jest rosnącym (zliczającym w górę) czterobitowym licznikiem synchronicznym zaimplementowanym z przerzutnikami JK. Każdy bit tego licznika może się przełączać, gdy wszystkie mniej znaczące bity znajdują się w logicznym stanie wysokim. Po zboczu narastającym zegara, bit 1 przełącza, jeśli bit 0 jest logicznie wysoki; bit 2 przełącza, jeśli oba bity 0 i 1 są wysokie; bit 3 przełącza, jeśli wszystkie bity 2, 1 i 0 są wysokie.

Licznik dekad

Licznik dekad obwodu wykorzystujący przerzutniki JK (74LS112D)

Licznik dekad to taki, który liczy cyfry dziesiętne, a nie binarne. Licznik dekad może mieć każde z nich (to znaczy może liczyć w postaci dziesiętnej zakodowanej binarnie , tak jak zrobił to układ scalony 7490 ) lub inne kodowanie binarne. Licznik dekad to licznik binarny, który ma zliczać do 1001 (dziesiętne 9). Zwykły licznik czterostopniowy można łatwo zmodyfikować do licznika dekadowego, dodając bramkę NAND, jak na schemacie po prawej stronie. Zauważ, że FF2 i FF4 dostarczają wejścia do bramki NAND. Wyjścia bramki NAND są podłączone do wejścia CLR każdego z FF.”. Liczy od 0 do 9, a następnie resetuje się do zera. Wyjście licznika można ustawić na zero, pulsując niską linią resetowania. każdy impuls zegarowy, aż osiągnie 1001 (dziesiętne 9).Kiedy wzrasta do 1010 (dziesiętne 10) oba wejścia bramki NAND stają się wysokie.W rezultacie wyjście NAND przechodzi w stan niski i resetuje licznik do zera.D przechodzi w stan niski może być sygnałem CARRY OUT, wskazującym, że nastąpiło odliczenie do dziesięciu.

Licznik dzwonków

Licznik pierścieniowy jest kołowym rejestrem przesuwnym, który jest inicjowany tak, że tylko jeden z jego przerzutników jest w stanie jeden, podczas gdy inne są w stanie zerowym.

Licznik pierścieniowy to rejestr przesuwny (kaskadowe połączenie przerzutników ) z wyjściem ostatniego podłączonego do wejścia pierwszego, czyli w pierścieniu. Zazwyczaj krąży wzór składający się z pojedynczego bitu, więc stan powtarza się co n cykli zegara, jeśli używanych jest n przerzutników.

Licznik Johnsona

Licznik Johnsona (lub przełącznik ogon pierścienia zliczającego , skręcone pierścień zliczający , pierścień zliczający chodzenia lub licznik Möbiusa ) jest zmodyfikowany pierścień zliczający, w którym sygnał wyjściowy z ostatniego stopnia jest odwracany i zawracany jako wsad do pierwszego etapu. Rejestr cyklicznie przechodzi przez sekwencję wzorców bitowych, których długość jest równa dwukrotnej długości rejestru przesuwnego, kontynuując w nieskończoność. Liczniki te znajdują specjalistyczne zastosowania, w tym podobne do licznika dekad, konwersji cyfrowo-analogowej itp. Można je łatwo zaimplementować za pomocą przerzutników typu D lub JK.

Liczniki informatyki

W teoria obliczalności , A licznik jest uważane za rodzaj pamięci. Licznik przechowuje pojedynczą liczbę naturalną (początkowo zero ) i może być dowolnie długa. Licznik jest zwykle rozpatrywany w połączeniu z maszyną skończoną (FSM), która może wykonywać następujące operacje na liczniku:

  • Sprawdź, czy licznik wynosi zero
  • Zwiększ licznik o jeden.
  • Zmniejsz licznik o jeden (jeśli jest już zero, to pozostawia go bez zmian).

Poniższe maszyny są wymienione w kolejności mocy, przy czym każda z nich jest ściślej potężniejsza niż ta pod nią:

  1. Deterministyczny lub niedeterministyczny FSM plus dwa liczniki
  2. Niedeterministyczny FSM plus jeden stos
  3. Niedeterministyczny FSM plus jeden licznik
  4. Deterministyczny FSM plus jeden licznik
  5. Deterministyczny lub niedeterministyczny FSM.

Dla pierwszego i ostatniego nie ma znaczenia, czy FSM jest deterministycznym automatem skończonym, czy niedeterministycznym automatem skończonym . Mają taką samą moc. Pierwsze dwa i ostatni to poziomy hierarchii Chomsky'ego .

Pierwsza maszyna, FSM plus dwa liczniki, odpowiada mocy maszynie Turinga . Zobacz artykuł na temat maszyn licznikowych, aby uzyskać dowód.

Licznik internetowy

Licznik odwiedzin lub hit counter to program komputerowy, który wskazuje liczbę odwiedzających lub hitów, dana strona otrzymała. Po skonfigurowaniu liczniki te będą zwiększane o jeden przy każdym dostępie do strony internetowej w przeglądarce internetowej .

Numer jest zwykle wyświetlany jako wbudowany obraz cyfrowy lub w postaci zwykłego tekstu lub na liczniku fizycznym, takim jak licznik mechaniczny . Obrazy mogą być prezentowane w różnych czcionkach lub stylach; klasycznym przykładem są koła licznika kilometrów .

Licznik sieciowy był popularny w połowie lat 90. i na początku XXI wieku, później zastąpiony bardziej szczegółowymi i kompletnymi pomiarami ruchu w sieci .

Liczniki komputerowe

Wiele systemów automatyki wykorzystuje komputery PC i laptopy do monitorowania różnych parametrów maszyn i danych produkcyjnych. Liczniki mogą zliczać takie parametry jak ilość wyprodukowanych sztuk, numer partii produkcyjnej oraz pomiary ilości zużytego materiału.

Liczniki mechaniczne

Na długo zanim elektronika stała się powszechna, do liczenia zdarzeń używano urządzeń mechanicznych. Są one znane jako liczniki zliczania . Zazwyczaj składają się z szeregu dysków zamontowanych na osi, z zaznaczonymi cyframi od zera do dziewięciu na ich krawędzi. Dysk po prawej stronie przesuwa się o jeden przyrost z każdym zdarzeniem. Każdy krążek z wyjątkiem lewego skrajnego ma występ, który po wykonaniu jednego obrotu przesuwa następny krążek w lewo o jeden przyrost. Takie liczniki były wykorzystywane jako liczniki kilometrów w rowerach i samochodach oraz w magnetofonach , dystrybutorach paliwa , w maszynach produkcyjnych i innych maszynach. Jednym z największych producentów była firma Veeder-Root, a ich nazwa była często używana dla tego typu licznika.

Ręczne liczniki zliczające służą głównie do inwentaryzacji i liczenia osób uczestniczących w imprezach.

Liczniki elektromechaniczne były używane do gromadzenia sum w maszynach do tabel, które były pionierami w branży przetwarzania danych.

Zobacz też

Bibliografia

  1. ^ "Licznik dekad" . Zintegrowane wydawnictwa . Źródło 19 mar 2020 .
  2. ^ Singh, Arun Kumar (2006). Digital Principles Foundation of Circuit Design and Application . Wydawcy New Age. Numer ISBN 81-224-1759-0.
  3. ^ Horowitz, Paweł; Wzgórze, Winfield (1989). Sztuka Elektroniki . Wydawnictwo Uniwersytetu Cambridge. Numer ISBN 0-521-37095-7.
  4. ^ Graf, Rudolf F (1999). Współczesny słownik elektroniki . Nowi. Numer ISBN 0-7506-9866-7.
  5. ^ Historia VR , Veeder.

Zewnętrzne linki