Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1 PODSTAWY TECHNIKI CYFROWEJ I MIKROPROCESOROWEJ EIP KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA GÓRNICZO-HUTNICZA WWW.AGH.EDU.PL Temat: Układy sekwencyjne cz. 2 Narzędzia: Digital Works Cele ćwiczenia Nabycie umiejętności wykorzystania przerzutników w prostych układach sekwencyjnych Zapoznanie z budową i symulacja działania prostych rejestrów i liczników Wstęp Przerzutniki JK-MS, przy wprowadzeniu odpowiednich połączeń wejść, mogą pracować w dwóch konfiguracjach, zwanych przerzutnikami T i D. Przerzutnik typu T powstaje przez podłączenie do wejść J i K na stałe sygnału 1-ki logicznej i podłączenie do wejścia CLK przebiegu taktującego (patrz: Rysunek 1). Rysunek 2 Przerzutnik T na bazie JK-MS Przy pojawieniu się kolejnych impulsów na wejściu CLK, wyjście Q zmienia stan na przeciwny. Taki przerzutnik T tworzy zatem prosty licznik do dwóch na wyjściu pojawiają się kolejno dwa stany: 0 i 1. W żargonie nazywany jest dwójką liczącą. Dlatego też stanowi podstawę konstrukcji prostych liczników zarówno asynchronicznych, jak i synchronicznych. Można go również zastosować jako dzielnik częstotliwości przez 2 sygnał na wyjściu Q ma częstotliwość dwukrotnie mniejszą niż przebieg podawany na wejście CLK. Przerzutnik typu D powstaje przez podłączenie do wejść J i K przeciwnych sygnałów logicznych logicznej i podłączenie do wejścia CLK przebiegu taktującego (patrz: Rysunek 2). Rysunek 2 Przerzutnik D Przerzutnik ten przepisuje stan wejścia informacyjnego D na wyjście Q. Przepisanie informacji następuje tylko przy odpowiednim stanie wejścia zegarowego. Najczęściej stosowana jest synchronizacja zboczem zegara, czyli przejściem z jednego stanu logicznego do drugiego. Zbocze może być narastające (przejście z 0 na 1) lub opadające. Innym rodzajem synchronizacji jest Latch (zatrzask, synchronizacja poziomem), który działa w ten sposób, że w czasie trwania na wejściu KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 1/9
zegarowym jedynki logicznej (lub zera, przy synchronizacji poziomem niskim), wyjście Q powtarza stany podawane na wejście D. W momencie zmiany stanu zegara następuje "zatrzaśnięcie" przerzutnika i od tej chwili informacja na wyjściu Q, aż do następnego taktu zegarowego, pozostaje niezmienna. Typowym zastosowaniem przerzutnika typu Latch jest zapamiętanie chwilowego stanu szyny danych w celu zobrazowania go na wyświetlaczu. Przerzutniki JK-MS pracujące w konfiguracji przerzutników D wykorzystuje się do konstrukcji prostych rejestrów szeregowych. Program ćwiczenia 1) Licznik asynchroniczny i synchroniczny budowa i symulacja 2) Dzielnik częstotliwości 3) Rejestr szeregowy przesuwny budowa i symulacja Licznik asynchroniczny symulacja pracy Otworzyć nowy plik symulacji w pakiecie Digital Works. W pliku zbudować i zasymulować pracę licznika asynchronicznego Modulo 8 (liczącego od 0 do 7 binarnie), korzystając z dwójek liczących zbudowanych na bazie przerzutników JK-MS. Kolejne przerzutniki muszą być połączone ze sobą szeregowo (wyjście Q poprzedniego, połączone z CLK następnego). Sygnał oscylatora podawany jest tylko na wejście CLK pierwszego przerzutnika. Patrz rysunek 3. Rysunek 3 Licznik asynchroniczny modulo 8. Szybkość zegera symulacji ustawić na 1 Hz. Rysunek 4 Ustawienie szybkości zegara taktującego Uruchomić symulację i obserwować pracę układu. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 2/9
Modyfikacja 1 ---------------------------------------------------------------------- Korzystając z pomocy programu Digital Works do projektu dodać blok Numeric Output Device, dostępne w pasku narzędzi programu. Rysunek 5 Lokalizacja bloku Numeric Output OKNO POMOCY: Rysunek 6 Okno pomocy Numeric Output W bloku tym od prawej są wyjścia najmniej znaczące, a zatem odpowiednio podłączyć je do wyjść zbudowanego licznika. Wyjście najstarsze czwarte, podłączyć do masy (sygnału 0 logicznego ). Rysunek 7 Punkt zera logicznego masy Po dołączeniu bloku włączyć symulację i obserwować pracę układu. Na pozycjach bloku pokazują się kolejno wyniki zliczania licznika modulo 8 w postaci binarnej. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 3/9
Modyfikacja 2 ------------------------------------------------------------------------ Do zapisanego projektu, korzystając podobnie jak poprzednio z pomocy programu Digital Works, dołączyć wyświetlacz 7 segmentowy (Seven Segment LED znaleźć sposób implementacji w Helpie), który pozwoli na pokazanie wyniku zliczania w formie dziesiętnej. Blok wyświetlacza jest dostępny w pasku narzędzi: Rysunek 8 Lokalizacja bloku wyświetlacza 7 segmentowego Jednak jego wejścia są przystosowane do obsługi sygnałów zadanych w kodzie BCD. Dlatego, jak wskazuje pomoc pakietu Digital Works, konieczne jest pobranie dodatkowego bloku makra, ze zbioru gotowych bloków w narzędziu Parts Centre. Rysunek 9 Okno Parts Centre Bloki Drivera BCD i wyświetlacza 7 segmentowego połączyć odpowiednio w projekcie (podobnie jak poprzednio blok Numeric Output) i uruchomić symulację układu. Kliknięcie podwójne na bloku Driver a powoduje otwarcie okna z makrem i możliwość podglądu struktury logicznej układu dekodera. Zapisać utworzony projekt. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 4/9
Modyfikacja 3 układ resetu licznika skracanie zakresu zliczania oraz zasady budowy prostych dzielników częstotliwości ---------------------------------------------------------------- Wykorzystując wejścia CLEAR i PRESET (patrz: Rysunek 10) w blokach przerzutników JK-MS można łatwo zbudować układ pozwalający na skrócenie zakresu zliczania w licznikach asynchronicznych. W razie konieczności skorzystać z pomocy HELP pakietu dla przerzutnika JK (Flip-Flop JK). Rysunek 10 Wejścia Clear (Reset) i Preset w bloku przerzutnika JK W rzeczywistych układach wejście Clear (Reset) jest wyzwalane podaniem 0 logicznego. W pakiecie Digital Works jak widać na rysunku przyjęto konwencję wyzwalania podaniem stanu 1 logicznej wysokiego. Na rysunku 11 pokazano przykład licznika modulo 16 zredukowanego do modulo 3 (Reset wyzwalany stanem licznika 0011 czyli 3) zlicza od 0 do 2. Rysunek 11 Licznik modulo 3 z układem Reset u Na podstawie poprzednich projektów liczników zbudować podobny układ licznika modulo 11 (liczący od 0 do 10). Dołączyć do niego wyświetlacz 7 segmentowy z pokazaniem stanu licznika. Plik projektu zapisać na dysku. Prosty dzielnik częstotliwości patrz: rysunek 12 Na postawie poprzedniego projektu licznika z układem Resetu zbudować dzielnik częstotliwości. Usunąć bramkę AND i jej połączenia Diody wyj 2 i wyj 3 dodać do narzędzia Logic History (prawy klawisz myszy i opcje na Add ) Do Logic History dodać również CLOCK Otworzyć okno narzędzia Logic History i uruchomić symulację (32 takty rejestracji przebiegów czasowych) Sprawdzić ile razy mniejsze częstotliwości mają przebiegi dla kolejnych wyjść licznika. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 5/9
Rysunek 12 Przygotowanie układu do pracy jako dzielnik częstotliwości Rejestr szeregowy przesuwający symulacja pracy W budowie najprostszych rejestrów szeregowych wykorzystuje się przerzutniki typu D również te zbudowane na bazie przerzutników JK-MS patrz: rysunek 13. Rysunek 13 Schemat ogólny budowy rejestru szeregowego przesuwającego 4 bitowego Podstawowa konfiguracja rejestru szeregowego przesuwającego Otworzyć nowy plik symulacji w pakiecie Digital Works. W pliku zbudować rejestr szeregowy 8 bitowy na bazie przerzutników JK-MS działających jako typ D. Sygnał oscylatora podawany jest na wejścia CLK wszystkich przerzutników. Jako wejście danych wstawić blok Sequence Generator z zadanym słowem 8-bitpwym np. postaci: 11001100. Do wyjść Q0 do Q7 dołączyć 8 diod oraz blok Numeric Output Device, dostępny w pasku narzędzi programu, z ustawieniem binarnym na 8 bitów. Uruchomić symulację i obserwować pracę układu. Wykorzystanie makra z Parts Centre ------------------------------------------------- KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 6/9
W dostępnych gotowych makrach Parts Centre znajduje się blok rejestru szeregowo-równoległego z przesuwaniem informacji wpisanej do rejestru patrz: rysunek 14. Dostępny w katalogu Macros. Rysunek 14 Blok makra w Parts Centre\Macros Otworzyć makro rejestru w oknie pakietu Digital Works i zapisać w postaci nowego pliku!!! UWAGA nie zapisać jako plik macro, nadpisujący plik pobrany z biblioteki makr!!! Następnie, korzystając z poznanych poprzednio i dostępnych w pakiecie narzędzi, dodać elementy i połączenia jak na schemacie, pokazanym na rysunku 15. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 7/9
Rysunek 15 Rejestr przesuwający 8 bitowy z równoległym wpisem danych Po wykonaniu połączeń, przetestować układ i przeanalizować zasadę jego działania, zadając różne kombinacje sygnałów na wejścia 4 bitowe (u góry schematu) oraz różne sekwencje 0 i 1 na wejście szeregowe (sekwencyjne). WAŻNE!!! Podwójne kliknięcie na blok 4 bitowego rejestru przesuwającego w makrze, umożliwia podgląd struktury wewnętrznej rejestru przesuwającego. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 8/9
Budowa prostej matrycy LED-owej 3x16 z wykorzystaniem makra rejestru przesuwającego UWAGA!!! - ZADANIE do wykonania w domu!!! Wykonany plik z symulacją pracy układu przesłać na adres mailowy ozadow@agh.edu.pl do zaliczenia!!! Wykorzystując blok makra z poprzedniego punktu ćwiczenia, zbudować w ramach jednego projektu matrycę LED 3x16 (3 liniki, 16 diod w linice), jako prostego wyświetlacza znaków graficznych. Niezbędne elementy: 6 bloków makra rejestru przesuwającego 3 wyjścia zadawania sekwencji Sequence Generator (w każdym sekwencja bitów do wyświetlenia i przesuwania w kolejnych linijkach wyświetlacza LED) Blok CLOCK szybkość 1 Hz podłączony do wszystkich wejść zegarowych bloków rejestrów przesuwających Odpowiednie połączenia WYJAŚNIENIA PROWADZACEGO!!! Na wyświetlaczu ma się pokazać i przesuwać np. napis: COOL, wykonany z diod LED wg konwencji: Z tej konwencji wynika zapis sekwencji bitów dla kolejnych linijek diod LED. Proszę je dobrać i wstawić do kolejnych bloków sekwencji w projekcie. WAŻNE: Napis ma się przesuwać od str prawej do lewej jak w paskach news w tv informacyjnych. Koniecznie uwzględnić to w projekcie. Możliwe również wykonanie większych martyc led ze sterowaniem z rejestrami przesuwającymi. Zastanowić się nad rozbudową układu oraz koniecznymi sekwencjami bitowymi do zadania w rejestrach przesuwających. PODSUMOWANIE Po zajęciach Student powinien: znać i wyjaśnić różnicę między różnymi typami przerzutników znać budowę (narysować schemat) i zasadę działania liczników asynchronicznych i synchronicznych znać budowę (narysować schemat) i zasadę działania rejestrów szeregowych i szeregoworównoległych umieć wykonać prosty układ aplikacyjny liczników i rejestrów KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 9/9