AGH Katedra Elektroniki Podstawy Elektroniki dla Elektrotechniki Liczniki synchroniczne na przerzutnikach typu D Ćwiczenie 7 Instrukcja do ćwiczeń symulacyjnych 2016 r. 1
1. Wstęp Celem ćwiczenia jest zaprojektowanie liczników synchronicznych modulo16, modulo 10, modulo 6, modulo 3 oraz modulo 2 w programie MultiSim na podstawie analizy tablic Karnaugha. Liczniki są grupą układów logicznych sekwencyjnych służących do liczenia impulsów. Licznik jest zbudowany z przerzutników (służących jako elementy pamiętające) i układu kombinacyjnego zapewniającego takie ich sterowanie, aby pod wpływem impulsu wejściowego przeszły do kolejnego stanu działania. Każdemu stanowi licznika odpowiada jedna ściśle określona kombinacja stanów przerzutników. 2. Konspekt W konspekcie należy przedstawić informacje o przerzutniku typu D (ang. D flip-flop), jego tabelę stanów, przebiegi czasowe. Należy również zaprojektować dwójkę liczącą zbudowaną na przerzutniku typu D. 3. Projekt licznika synchronicznego modulo 16 na przerzutnikach D Zaprojektujemy licznik synchroniczny modulo 16 zbudowany na przerzutnikach typu D. W liczniku synchronicznym stany wszystkich przerzutników zmieniają się równocześnie sygnał zegarowy jest doprowadzany do wejścia każdego z przerzutników. Przełączaniem przerzutników steruje odpowiednio skonstruowana sieć logiczna. Licznik modulo 16 liczy do 15. Do zapisania liczb z zakresie od 0 do 15 w kodzie dwójkowym potrzeba czterech bitów czyli czterech przerzutników D o wyjściach Q 0, Q 1, Q 2, Q 3. Licznik synchroniczny modulo 16 składa się z 4 przerzutników typu D. Na jego wyjściu będą pojawiały się kolejno stany od 1 do 15. Stan 16 jest zerowy. Stany wyjść licznika opisujemy za pomocą czteropozycyjnego kodu dwójkowego. Tabelę stanów wejść D w funkcji wyjść Q wypełniamy na podstawie analizy stanów wyjść Q licznika. Na przykład, jeśli wyjścia licznika są w stanie 3 (Q 3 =0, Q 2 =0, Q 1 =1, Q 0 =1), to następnym stanem po nadejściu impulsu zegarowego będzie stan 4 (Q 3 =0, Q 2 =1, Q 1 =0, Q 0 =0). Aby tak się stało, przy stanie 3 na wejściach przerzutników muszą wystąpić stany D 3 =0, D 2 =1, D 1 =0 i D 0 =0, co wynika bezpośrednio z własności przerzutnika D. Stany wejść D są funkcjami logicznymi stanów wyjść Q. Funkcje te znajdujemy przy pomocy tablic Karnaugha. Należy uzupełnić tabele Karnaugha dla wejść D 0, D 1, D 2, D 3 licznika i na podstawie tych tabel znaleźć minimalne funkcje opisujące stan wejść w funkcji wyjść. Tabela stanów dla licznika modulo 16 2
Stan Wyjścia Wejścia Q3 Q2 Q1 Q0 D3 D2 D1 D0 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 0 0 1 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 10 1 0 1 0 11 1 0 1 1 12 1 1 0 0 13 1 1 0 1 14 1 1 1 0 15 1 1 1 1 0 0 0 0 0 Tabele Karnaugha dla wejść D 0, D 1, D 2, D 3 licznika modulo 16: Dla wejścia D 0 Dla wejścia D 1 Q 1 Q 0 Q 1 Q 0 00 00 01 01 11 11 10 10 D 0 =... D 1 =... Dla wejścia D 2 Dla wejścia D 3 Q 1 Q 0 Q 1 Q 0 00 00 01 01 11 11 10 10 D 2 =... D 3 =... 3
4. Projekt licznika synchronicznego modulo 10 na przerzutnikach D Licznik synchroniczny modulo 10 składa się z 4 przerzutników typu D. Na jego wyjściu będą pojawiały się kolejno stany 0-9. Następny stan jest zerowy. Zgodnie z opisanymi wcześniej procedurami należy uzupełnić tabelę stanów oraz tabele Karnaugha dla licznika modulo 10, zminimalizować funkcje logiczne a następnie za ich pomocą narysować schemat licznika synchronicznego modulo 10 stosując przerzutniki typu D (wyzwalane zboczem opadającym ) oraz bramki logiczne. Tabela stanów licznika modulo 10 Stan Wyjścia Wejścia Q3 Q2 Q1 Q0 D3 D2 D1 D0 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 0 0 0 0 0 Q 1 Q 0 Q 1 Q 0 00 00 01 01 11 11 10 10 D 0 =... D 1 =... 4
Q 1 Q 0 Q 1 Q 0 00 00 01 01 11 11 10 10 D 2 =... D 3 =... 5. Projekt licznika synchronicznego modulo 6 na przerzutnikach D Licznik synchroniczny modulo 6 składa się z 3 przerzutników typu D. Na jego wyjściu będą pojawiały się kolejno stany 0,1,2,3,4,5. Następny stan jest zerowy. Tabelę stanów wejść D w funkcji wyjść Q licznika modulo 6 wypełniamy na podstawie analizy stanów wyjść Q licznika. Na przykład, jeśli wyjścia licznika są w stanie 3 (Q 2 =0, Q 1 =1, Q 0 =1), to następnym stanem po nadejściu impulsu zegarowego będzie stan 4 (Q 2 =1, Q 1 =0, Q 0 =0). Aby tak się stało, przy stanie 3 na wejściach przerzutników muszą wystąpić stany D 2 =1, D 1 =0 i D 0 =0, co wynika bezpośrednio z własności przerzutnika D. Tabela stanów licznika modulo 6 Stan Wyjścia Wejścia Q2 Q1 Q0 D2 D1 D0 0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 0 0 0 0 W następnej kolejności należy uzupełnić tabele Karnaugha dla wejść D 0, D 1, D 2 licznika oraz zminimalizować funkcje opisujące wejścia licznika w funkcji wyjść: 5
Wejście D 0 Wejście D 1 Q 1 Q 0 Q 1 Q 0 Q 2 0 0 Q 2 1 1 D 0 =... D 1 =... Wejście D2 Q 1 Q 0 Q 2 0 1 D 2 =... Następnie należy narysować schemat licznika synchronicznego modulo 6 za pomocą przerzutników typu D (wyzwalanych zboczem opadającym ) oraz bramek logicznych oraz sprawdzić sekwencję przebiegów czasowych na poszczególnych wyjściach licznika 6. Projekt licznika synchronicznego modulo 3 na przerzutnikach D Licznik synchroniczny modulo 3 składa się z 2 przerzutników typu D. Na jego wyjściu będą pojawiały się kolejno stany 0,1,2. Następny stan jest zerowy. Zgodnie z opisanymi wcześniej procedurami należy uzupełnić tabelę stanów oraz tabele Karnaugha dla licznika modulo3, zminimalizować funkcje logiczne a następnie za ich pomocą narysować schemat licznika synchronicznego modulo 10 stosując przerzutniki typu D oraz bramki logiczne. Tabela stanów licznika modulo 3 Stan Wyjścia Wejścia Q1 Q0 D1 D0 0 0 0 1 0 1 2 1 0 0 0 0 6
Q 1 Q 0 1Q 0 0 1 0 0 Q 1 0 1 1 1 D 0 =... D 1 =... 7. Projekt licznika synchronicznego modulo 2 na przerzutniku D Licznik synchroniczny modulo 2 składa się z 1 przerzutnika typu D. Na jego wyjściu będą pojawiały się kolejno stany 0,1. Następny stan jest zerowy. Zgodnie z opisanymi wcześniej procedurami należy uzupełnić tabelę stanów oraz tabele Karnaugha dla licznika modulo 2, zminimalizować funkcje logiczne a następnie za ich pomocą narysować schemat licznika synchronicznego modulo 2. Tabela stanów licznika modulo 2 Stan Wyjścia Wejścia Q0 0 0 1 1 0 0 D0 Tabela Karnaugha licznika modulo 2 Q 0 0 1... D 0 = 7
8. Realizacja dwójki liczącej na przerzutniku D w programie MultiSim Wprowadź na pulpit programu MultiSim przerzutnik typu D wyzwalany zboczem narastającym oznaczony symbolem D_FF. Place / Component / MiscDigital / TIL / D_FF Rys. 1 przedstawia symbol tego przerzutnika. Przerzutnik ten posiada wejście informacyjne D, wejście zegarowe CLK oraz wyjścia Q oraz nieq. Brak kółeczka obok wejścia CLK przerzutnika informuje o tym, że jest on wyzwalany zboczem narastającym. Gdyby oprócz strzałki obok wejścia CLK było również kółeczko, to przerzutnik byłby wyzwalany zboczem opadającym. Przerzutnik posiada jeszcze dwa dodatkowe wejścia SET (ustawiające) i RESET (zerujące), które uaktywnia się stanem 1. Rys. 1. Przerzutnik typu D wyzwalany zboczem narastającym, który posłuży do realizacji liczników w dalszych symulacjach Działanie przerzutnika ilustruje tabela 1 oraz rys. 2. Wyzwalanie przerzutnika odbywa się zboczem narastającym tzn. w chwili gdy napięcie na wejściu zegarowym zmienia się z poziomu logicznego 0 na 1, następuje przepisanie informacji z wejścia D na wyjśćie Q. Przerzutnik pozostaje w tym nowym stanie do czasu pojawienia się kolejnego zbocza narastającego na wejściu zegarowym Tabela 1. Działanie przerzutnika typu D wyzwalanego zboczem narastającym. Wejścia Wyjścia CLK D Q nieq 1 1 0 0 0 0 8
CLK D Q Rys. 2. Przebiegi sygnałów na przerzutniku D (wyzwalanie zboczem narastającym) Utwórzmy teraz w programie MultiSim tzw. dwójkę liczącą na bazie przerzutnika typu D z wyzwalaniem zboczem narastającym. Dwójka licząca to układ, który realizuje dzielenie sygnału zegarowego przez 2. Na wyjściu Q pojawia się sygnał, którego częstotliwość jest dwa razy mniejsza od częstotliwości sygnału taktującego podawanego na wejście D. Włącz częstościomierz na wyjście dwójki liczącej i sprawdź częstotliwość sygnału na wyjściu. Rys. 2. Dwójka licząca CLK Q Rys. 3. Przebiegi napięcia na wyjściu Q dwójki liczącej. 9
9. Realizacja licznika synchronicznego modulo 16 na przerzutnikach D w programie MultiSim Zaprojektujemy teraz licznik synchroniczny modulo 16 na przerzutniach typu D wyzwalanych zboczem narastającym w programie MultiSim. W polu programu w dolnej części ekranu należy położyć cztery przerzutniki typu D, zegar CLK, przycisk resetujący i połączyć je wstępnie wg rys. 4. Place / Component / Master Database / Misc Digital / TIL / D_FF Place / Component / Master Database / Sources/ Digital Sources / Digital Clock Place / Component / Master Database / Sources/ Digital Sources / Interactive_Digital_Constant Place / Component / Master Database / Indicators/ Probe/ Probe Blue Równolegle do wskaźników stanu należy podłączyć wyświetlacz: Place / Component / Master Database / Indicators/ HEX_DISPLAY / DCD_HEX Następnie należy zrealizować połączenia między wejściami i wyjściami kolejnych przerzutników na podstawie funkcji logicznych wyznaczonych w punkcie 3 instrukcji na podstawie tabeli Karnaugha. Rys. 4. Wstępny szkielet licznika synchronicznego modulo 16 ( należy dorysować realizację funkcji logicznych wyznaczonych z tabel Karnaugha) 10
Następnie należy sprawdzić poprawność działania licznika modulo 16. Licznik liczy 0d 0 do 15 po cyfrze 9 pojawiają się litery A(10), B(11), C(12), D(13), E(14), F(15). 10. Realizacja licznika synchronicznego modulo 10, modulo 6 oraz modulo 3 na przerzutnikach D w programie MultiSim Analogicznie do licznika synchronicznego modulo 16, należy zaprojektować i sprawdzić działanie liczników modulo 10, modulo 6 oraz modulo 3 na przerzutnikach typu D. Cz II. Część praktyczna W oparciu o schemat z rys. 3 należy zrealizować na platformie ELVIS układ dwójki liczącej wykorzystując układ scalony UCY7474. Układ UCY7474 tworzą dwa przerzutniki typu D wyzwalane zboczem narastającym. Schemat wewnętrzny układu UCY7474 jak również konfigurację wyprowadzeń przedstawia rys. 5. Rys. 5. Struktura i oznaczenia wyprowadzeń układu UCY7474 Po umieszczeniu układu scalonego na platformie Elvis połącz wejście 1D przerzutnika 1 (nóżka 2 układu) z wyjściem 1nieQ (nóżka 6 układu). Na wejście zegarowe 1CLK (nóżka 3 układu) wprowadź sygnał z generatora FGEN. Z generatora FGEN podaj sygnał prostokątny o amplitudzie 5V i offset 2.5V, duty cycle 50% oraz częstotliwości 1 khz. Uwaga przed uruchomieniem generatora sprawdź nastawy generatora FGEN, bo możesz łatwo uszkodzić układ scalony. Na oscyloskopie obserwuj sygnał z generatora oraz z wyjścia 1Q przerzutnika. Zauważysz, że sygnał wyjściowy ma częstotliwość dwa razy mniejszą od wejściowej. Schemat połączeń na platformir Elvis przedstawia rys. 6. 11
Rys. 6. Dwójka licząca (cyfry przy wyprowadzeniach przerzutnika oznaczają numery wyprowadzeń układu UCY 7474) Opracowanie: B.Dziurdzia, M.Sapor, Zb. Magoński 30.05.2015. Aktualizacja: 20.05.2016 12