Ćwiczenie MMLogic 002 Układy sekwencyjne cz. 2 TECHNIKA MIKROPROCESOROWA 3EB 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: Multimedia Logic --- (lub 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ż stranowi 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 i zapisać w katalogu STUDENT-2013-2014 na dysku D:\. 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 ustawiamy na 1 Hz. Rysunek 4 Ustawienie szybkości zegara taktującego Uruchamiamy symulację i obserwujemy pracę układu. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 2/9
Modyfikacja 1 ---------------------------------------------------------------------- Korzystając z pomocy programu Digital Works do projektu dokładamy 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łączamy je do wyjść zbudowanego licznika. Wyjście najstarsze czwarte, podłączamy do masy (sygnału 0 logicznego ). Rysunek 7 Punkt zera logicznego masy Po dołączeniu bloku zapisujemy plik z projektem w katalogu STUDENT-2013-2014 na dysku D:\ i obserwujemy pracę układu włączyć symulację. 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, 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ć w katalogu STUDENT-2013-2014 na dysku D:\. 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 Licznik synchroniczny symulacja pracy W analizowanym dotąd liczniku asynchronicznym przerzutniki są sterowane wyjściami przerzutników poprzedzających. Powoduje to, iż stan licznika nie ustala się od razu, lecz kolejno na poszczególnych przerzutnikach, z opóźnieniem równym czasowi propagacji sygnału w przerzutniku. Jeśli impulsy zegarowe miałby dużą częstotliwość i ich okres byłby porównywalny z czasem propagacji przerzutnika, to sygnały wyjściowe licznika mogą podawać złe wartości zliczonych impulsów - sygnał wyjściowy nie ma czasu na odpowiednie ustalenie się. Z tego powodu zaprojektowano liczniki synchroniczne, w których przerzutniki zmieniają swój stan jednocześnie z taktem zegarowym. Licznik synchroniczny posiada dodatkową sieć logiczną, która steruje odpowiednio wejściami przerzutników, na podstawie stanów ich wyjść. Sygnał zegarowy doprowadzany jest do każdego przerzutnika, zatem zmiana stanów będzie odbywała się jednocześnie, według napływających taktów zegarowych. Liczniki synchroniczne można budować z przerzutników D lub JK-MS. W ćwiczeniu wykorzystano te drugie. Otworzyć nowy plik symulacji w pakiecie Digital Works i zapisać w katalogu STUDENT-2013-2014 na dysku D:\. W pliku zbudować i zasymulować pracę licznika synchronicznego Modulo 8 (liczącego od 0 do 7 binarnie), korzystając z przerzutników JK-MS. Zasada wyzwalania kolejnych przerzutników pokazana jest na rysunku 13. Rysunek 13 Zasada budowy kolejnych elementów licznika synchronicznego (skreślono nie potrzebny w symulacji rezystor) W oparciu o rysunek 13 (licznik modulo 8) zbudować w pakiecie Digital Works licznik modulo 16, z odpowiednim układem logiki wyzwalania kolejnego przerzutnika JK. UWAGA: Sygnał oscylatora podawany jest na wejścia CLK wszystkich przerzutników. Uruchomić symulację i sprawdzić działanie. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 6/9
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 14. Rysunek 14 Schemat ogólny budowy rejestru szeregowego przesuwającego 4 bitowego Podstawowa konfiguracja rejestru szeregowego przesuwającego Otworzyć nowy plik symulacji w pakiecie Digital Works i zapisać w katalogu STUDENT-2013-2014 na dysku D:\. 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 ------------------------------------------------- W dostępnych gotowych makrach Parts Centre znajduje się blok rejestru szeregowo-równoległego z przesuwaniem informacji wpisanej do rejestru patrz: rysunek 15. Dostępny w katalogu Macros. Rysunek 15 Blok makra w Parts Centre\Macros KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 7/9
Otworzyć makro rejestru w oknie pakietu Digital Works i zapisać w postaci nowego pliku w katalogu STUDENT-2013-2014 na dysku D:\. 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 16. Rysunek 16 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. Budowa prostej matrycy LED-owej 3x16 z wykorzystaniem makra rejestru przesuwającego UWAGA!!! - ZADANIE do wykonania na zajęciach, jeżeli brakło czasu wykonać w domu i przynieść zrealizowany projekt na zajęcia następne 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) KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 8/9
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ć 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żna ewentualnie zastanowić się i wykonać sekwencje dla innych wzorów graficznych. 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