dzielnik częstotliwości przez 3 wykorzystując przerzutniki SR i bramki NAND
– Dzielnik częstotliwości /3 można zbudować z dwóch synchronicznych przerzutników SR (taktowanych zboczem) oraz czterech bramek NAND generujących sygnały wzbudzenia S i R tak, aby licznik przechodził przez stany 00 → 01 → 10 → 00.
– Równania wzbudzeń:
S0 = ¬Q1 · ¬Q0 R0 = Q0
S1 = ¬Q1 · Q0 R1 = Q1
– Wyjście dzielnika można pobrać z Q1 (lub Q0), uzyskując częstotliwość CLK/3.
• Układ synchroniczny, wspólny zegar CLK dla obu przerzutników.
• Przerzutniki SR aktywne stanem wysokim, z wyjściami Q oraz ¬Q (Q̅).
• Licznik modulo-3 → 3 stany kodowane 2 bitami.
Stan obecny | Stan następny | Kod | Opis |
---|---|---|---|
00 | 01 | 0 | start |
01 | 10 | 1 | drugi impuls |
10 | 00 | 2 | trzeci impuls |
Stan 11 nieużywany – układ samokoryguje się do 00 przy kolejnym takcie.
a) Przypomnienie dla SR (aktywny ‘1’):
Qn | Qn+1 | S | R |
---|---|---|---|
0 | 0 | 0 | X |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 1 | X | 0 |
b) Wyprowadzenie S0, R0 (dla Q0) i S1, R1 (dla Q1) na podstawie tabeli przejść → minimalizacja Karnaugha:
S0 = ¬Q1 · ¬Q0
R0 = Q0
S1 = ¬Q1 · Q0
R1 = Q1
Warunek S·R=0 spełniony w każdym wierszu.
SR budowany z dwóch NAND ma wejścia aktywne nisko, stąd potrzebujemy inwerterów (także NAND) albo pozostajemy przy wersji „aktywne wysokim” – poniżej wariant najczęściej stosowany w praktyce:
Sygnał AND (A·B) realizujemy jako:
W = NAND(A,B) → AND = NAND(W,W)
S0:
W1 = NAND(¬Q1,¬Q0)
S0 = NAND(W1,W1)
S1:
W2 = NAND(¬Q1,Q0)
S1 = NAND(W2,W2)
R0 = Q0 (bezpośrednio lub przez inwerter NAND dla dopasowania opóźnień)
R1 = Q1
Łącznie: 2 przerzutniki SR (4 bramki) + 4 bramki NAND sterujące = 8 NAND-ów TTL/CMOS.
Sekwencja (Q1 Q0):
CLK ↑1 → 00
CLK ↑2 → 01
CLK ↑3 → 10
CLK ↑4 → 00 …
Wyjście Q1 ma okres 3 taktów i wypełnienie 1/3 – częstotliwość = fCLK / 3.
Po nieokreślonym stanie zasilania można podać asynchroniczny RESET (S=0, R=1 dla obu FF) lub polegać na właściwości samokorygującej: stan 11 powoduje w następnym takcie jednoczesne R1=1, R0=1 → przejście do 00.
• W nowoczesnych projektach rzadko stosuje się SR; popularniejsze są D, JK lub T oraz liczniki programowalne w CPLD/FPGA.
• Narzędzia EDA (Quartus, Vivado, KiCad + SimulIDE/ModelSim) umożliwiają szybkie zweryfikowanie układu.
• W układach SoC dzielenie przez nie-potęgę 2 realizuje się wewnętrzną logiką PLL, prescalerami lub licznikami w silicon IP.
• Hazardy: przerzutniki SR budowane z latchy poziomoczułych ≤ ryzyko przeładowania; stąd zaleca się wersje krawędziowe lub wstawienie zatrzasków master-slave.
• Współczynnik wypełnienia 1/3 jest typowy dla dzielników modulo 3; jeżeli potrzebny jest 50 %, należy użyć dalszego formowania (np. generatoru 1-z-3 + multiplekser).
• Analogia: licznik modulo 3 to „koło z trzema ząbkami”; każdy impuls CLK przesuwa o jeden ząb, a odczyt Q1 to czujnik ustawiony tak, że ząbek pojawia się co trzeci krok.
• Brak szczególnych ograniczeń licencyjnych – układ można publikować jako Open Hardware.
• W zastosowaniach safety-critical (lotnictwo, automotive) należy poddać projekt formalnej weryfikacji i zgłosić zgodność z ISO 26262 / DO-254.
• Dzielnik /3 z SR jest dydaktycznie ciekawy, lecz wymaga większej liczby bramek niż rozwiązanie z przerzutnikami JK/D.
• Nie nadaje się do implementacji w technologii z otwartymi kolektorami bez dodatkowych rezystorów pull-up.
• Porównanie implementacji modulo-3 w różnych technologiach (TTL-74LS, CMOS-4000, FPGA).
• Projekt dzielnika uniwersalnego /N (N = 3…15) z wykorzystaniem tablic LUT.
• Analiza wpływu nieidealnych czasów ustawiania/trzymania (setup/hold) na poprawność pracy licznika.
Zaprojektowany układ wykorzystuje dwa przerzutniki SR i cztery bramki NAND do realizacji licznika modulo 3. Równania wzbudzeń S0 = ¬Q1¬Q0, R0 = Q0, S1 = ¬Q1Q0, R1 = Q1 gwarantują sekwencję 00 → 01 → 10 → 00, dzięki czemu wyjście Q1 zapewnia sygnał o częstotliwości fCLK / 3. Choć w praktyce częściej stosuje się przerzutniki D/JK lub wewnętrzne dzielniki PLL, przedstawiony projekt pozostaje klarownym przykładem analizy stanów i syntezy logicznej wyłącznie w oparciu o bramki NAND.