Ćwiczenie Technika Mikroprocesorowa komputery 001 Układy sekwencyjne cz. 1 TECHNIKA MIKROPROCESOROWA 3EB KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA GÓRNICZO-HUTNICZA WWW.AGH.EDU.PL Cele ćwiczenia Zapoznanie z pakietami narzędziowymi MMLogic oraz Digital Works Poznanie budowy i zasad działania przerzutników Nabycie umiejętności wykorzystania przerzutników w prostych układach sekwencyjnych Wstęp Dotychczas poznane układy logiczne bramki, układy bramek realizujące funkcje logiczne itp., były układami kombinacyjnymi. Oznacza to że stan wyjścia bramki lub układu bramek realizującego funkcję, zależał tylko od podanej kombinacji sygnałów na wejścia układu oraz jego połączeń wewnętrznych, miedzy bramkami, modułami. Układy cyfrowe sekwencyjne charakteryzują się tym, że stan na ich wyjściu (wyjściach) zależy nie tylko od podanych sygnałów wejściowych i połączeń między elementami układu, ale również od stanu w chwilach poprzednich zapamiętanych w układzie. Układy sekwencyjne dzielą się na: asynchroniczne bez modułu zegara zmiana sygnałów wejściowych X natychmiast powoduje zmianę wyjść Y (Q). W związku z tym układy te są szybkie, ale jednocześnie podatne na zjawisko hazardu i wyścigu synchroniczne z modułem zegara zmiana stanu wewnętrznego następuje wyłącznie w określonych chwilach, które wyznacza sygnał zegarowy (ang. clock). Każdy układ synchroniczny posiada wejście zegarowe oznaczane zwyczajowo symbolami C, CLK lub CLOCK. Charakterystyczne dla układów synchronicznych, jest to, iż nawet gdy stan wejść się nie zmienia, to stan wewnętrzny - w kolejnych taktach zegara - może ulec zmianie Najbardziej popularnymi układami sekwencyjnymi są: przerzutniki, rejestry, liczniki czy proste pamięci. Pakiet MMLogic Pakiet Multimedia Logic to narzędzie umożliwiające symulację pracy układów cyfrowych, logicznych i mikroprocesorowych. Pomimo niewielkich rozmiarów pliku instalacyjnego (1,4 MB!!! mieścił się na dawnej dyskietce 3,5 ), dysponuje jednak szeroką gamą narzędzi użytkowych i gotowych modułów logicznych, pozwalających na budowę modeli nawet bardzo zaawansowanych funkcjonalnie układów cyfrowych i mikroprocesorowych. Więcej informacji i możliwość pobrania pliku instalacyjnego (FREE!!!) na stronie: http://www.softronix.com/logic.html Po instalacji - warto zajrzeć do katalogu Examples, gdzie znajdują się przykładowe, gotowe już modele symulacyjne bardzo proste i złożone. Niektóre z plików przykładowych są również wykorzystywane w ćwiczeniach, zwłaszcza przy poznawaniu wybranych elementów i modułów układów sekwencyjnych. Ścieżka do ogólnego katalogu przykładów (EXAMPLES): C:\Program Files\Softronics\Mulimedia Logic\Examples KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 1/8
Środowisko pracy MMLogic najważniejsze elementy OKNO PAKIETU: Rysunek 1 Panel startowy pakietu MMLogic Najważniejsze elementy w programie MMLogic, niezbędne do rozpoczęcia pracy w pakiecie symulacyjnym pokazano na rysunku 1. W Palecie Narzędzi znajdują się wszystkie elementy dostępne w pakiecie do budowy modeli układów cyfrowych i mikroprocesorowych. Można wydzielić w nich pewne grupy schematycznie widoczne na rysunku 2. Rysunek 2 Paleta narzędzi (zaznaczono najważniejsze wykorzystywane w ćwiczeniach) KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 2/8
Ważne: Standardowo szybkość realizacji symulacji ustawiona jest w pakiecie na wartość maksymalną. Jednak by zauważyć i analizować zmiany sygnałów szczególnie w przypadku układów sekwencyjnych, może być konieczna jej zmiana i ustawienie konkretnych częstotliwości pracy zegara polecane: 5 Hz, 10 Hz. Jak dokonać zmiany pokazano na rysunku 3. Rysunek 3 Menu zmiany prędkości symulacji częstotliwość zegara Program ćwiczenia 1) Przerzutniki podstawowe elementy układów sekwencyjnych 2) Weryfikacja działania przerzutników RS i JK, JK-MS tabele prawdy/stanów, przebiegi czasowe Przerzutniki podstawowe informacje i symulacje Przerzutnik (ang. flip flop) jest układem cyfrowym wyposażonym w pamięć. W przypadku bramki cyfrowej stan jej wyjścia jest bezpośrednio uzależniony od stanów panujących na wejściach - opisuje to funkcja logiczna realizowana przez bramkę. W przerzutniku jest nieco inaczej - zapamiętuje on swój stan wewnętrzny. Stan ten może być zmieniony przez odpowiednie wysterowanie wejść. Typowy przerzutnik jest układem cyfrowym posiadającym kilka wejść sterujących oraz dwa wyjścia komplementarne Q i Q, na których panują zawsze przeciwne stany logiczne (z dokładnością do czasu propagacji sygnałów wewnątrz przerzutnika - zjawisko Hazardu). PRZERZUTNIK RS --- W najprostszym przerzutniku RS stan wysoki na wejściu S (ang. Set - ustawianie), wymusza przejście wyjścia Q w stan 1. Z kolei stan wysoki na wejściu R (ang. Reset - zerowanie), wymusza przejście wyjścia Q w stan 0. Stan wyjścia Q może się również zmieniać pod wpływem określonej kombinacji stanów wejść (obrazują to tabele prawdy/stanów). Widok bloku przerzutnika RS w pakiecie MMLogic pokazano na rysunku 4. Rysunek 4 Przerzutnik RS blok oraz schemat wewnętrzny na bramkach NAND KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 3/8
Przerzutnik powstaje dzięki sprzężeniu zwrotnemu (ang. feed back) wyjść z wejściami. Sprzężenie to powoduje, iż przerzutnik utrzymuje ostatni stan wyjść Qn-1 po przejściu stanów logicznych na wejściach w stan neutralny. Przerzutnik może być wykonany z użyciem różnych bramek najczęściej NAND lub NOR patrz: rysunek 5. Rysunek 5 Przerzutniki RS i ich tabele stanów (kolor czerwony sygnałów 1 logiczna) Stany zaznaczone w tabelach na czerwono stany zabronione w przerzutniku RS. Wówczas wynikowy stan wyjścia Q jest nieokreślony - może być równy 1 lub 0, w zależności od wewnętrznych hazardów w sieci logicznej przerzutnika - nie daje się przewidzieć. Symulacja pracy przerzutnika RS: 1. Otworzyć w pakiecie MMLogic plik RSFF.LGI z katalogu Examples\Basic. 2. Uruchomić symulację i obserwować efekt działania 3. Przerwać symulację i zapisać plik pod nazwą RSFF1.LGI --- w katalogu STUDENT-2013-2014 na dysku D:\ 4. Do tego pliku dodać blok przerzutnika RS (Flip-Flop) z palety narzędzi, dwa przełączniki typu Switch (nie Push) oraz dwie diody LED. 5. Podłączyć przełączniki do wejść przerzutnika, a diody do wyjść. 6. Uruchomić symulację i obserwować pracę obu układów. 7. Zanalizować i odpowiedzieć: Z jakich bramek zbudowany jest blok przerzutnika RS? Dlaczego lepiej stosować w obsłudze przerzutnika RS przyciski Push na wejściach zadających sygnały Set i Reset? PRZERZUTNIK JK i JK-MS --- Podstawową wadą przerzutnika RS jest oczywiście stan nieustalony. Aby wyeliminować tę niedogodność, zaproponowano w prowadzenie zegara taktującego, od którego stanu zależy reakcja przerzutnika na zmiany sygnałów Set i Reset. Taki przerzutnik nazwano RS Clocked lub JK (gdzie wejścia R i S zamieniono na J i K), a jego budowę i tabelę stanów pokazano na rysunku 6. Rysunek 6 Przerzutnik JK i jego tabela stanów (kolor czerwony sygnałów 1 logiczna) KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 4/8
Obserwacja pracy przerzutnika RS taktowanego lub JK PAKIET MMLogic: 1. Otworzyć w pakiecie MMLogic plik CLKRSFF.LGI z katalogu Examples\Basic. 2. Uruchomić symulację i obserwować efekt działania zmieniając stany na wejściach i wyzwalając plik wejście CLK. 3. Przerwać symulację i zapisać plik pod nazwą CLKRSFF 1.LGI --- w katalogu STUDENT-2013-2014 na dysku D:\ 4. Do pliku dodać blok oscylatora (Oscillator) z palety narzędzi i podłączyć go zamiast przełącznika C (L) Clock. 5. W parametrach oscylatora (prawy klawisz myszy, opcja Properties ) ustawić cykle Hi i Lo na 2. W parametrach symulacji zmienić częstotliwość zegara (Simulation Rate) na 5 Hz. 6. Uruchomić symulację, zmieniać stany wejść R i S i obserwować zachowanie układu. WNIOSEK: Zachowanie układu nie jest do końca zadowalające. Przy zadaniu R=1 i S=1 powstają na wyjściu oscylacyjne zmiany sygnału, zależne od częstotliwości zegara CLK. Aby pozbyć się kłopotów z doborem czasu trwania impulsu zegarowego (ważne tylko dla J=1 i K=1), często stosuje się układ Master/Slave, z buforowaniem zmian sygnału przez czas jednego cyklu zegarowego. W ten sposób powstaje przerzutnik JK-MS, zwykle wyzwalany zboczem sygnału zegarowego, zatem nie wystąpią w nim problemy ze wzbudzaniem się układu. Budowa i tabela stanów pokazana na rysunku 7. Rysunek 7 Przerzutnik JK-MS wyzwalany zboczem narastającym i jego tabela stanów (kolor czerwony sygnałów 1 logiczna) Symulacja pracy przerzutnika JK-MS PAKIET MMLogic: 1. Otworzyć w pakiecie MMLogic plik JKFF.LGI z katalogu Examples\Basic. 2. Uruchomić symulację i obserwować efekt działania (na początku mogą być stany nieustalone należy zadać np. wej. J na 1 i puścić impuls CLK) 3. Przerwać symulację i zapisać plik pod nazwą JKFF1.LGI --- w katalogu STUDENT-2013-2014 na dysku D:\ 4. Do tego pliku dodać blok oscylatora (Oscillator) z palety narzędzi i podłączyć go zamiast przełącznika C (L) Clock. 5. W parametrach oscylatora (prawy klawisz myszy, opcja Properties ) ustawić cykle Hi i Lo na 2. W parametrach symulacji zmienić częstotliwość zegara (Simulation Rate) na 5 Hz. 6. Uruchomić symulację i zmieniać kolejno stany wejść J i K (J=1 K=0, J=0 K=1, J=0 K=0, J=1, K=1), obserwując zmiany stanu wyjść Q i /Q. 7. Zanalizować i odpowiedzieć: Jaka jest tabela stanów wyjść Q i /Q przy jakich stanach J i K stan wyjścia Q się nie zmienia? jak zachowuje się wyjście Q przy J=1 i K=1? 8. Porównać wnioski własne z symulacji z tabelą pokazaną na rysunku 7 KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 5/8
Przebiegi czasowe przerzutnika JK-MS wyzwalanego zboczami (Edgge triggered): W budowie wewnętrznej przerzutnika JK-MS można wydzielić dwa bloki: Master i Slave. Dla każdego z nich teoretycznie (do analizy) możliwe jest wypuszczenie sygnału wyjść Q1 i Q2 jak na rysunku 8. Rysunek 8 Przerzutniki JK-MS z zaznaczeniem struktury wewnętrznej i wyjściami roboczymi Q1 i Q2 Dzięki temu możliwe jest przeanalizowanie pracy przerzutnika JK-MS i wyznaczenie dla niego przebiegów czasowych sygnału wyjściowego, zależnie od sygnałów wejściowych J i K oraz CLK. Zakłada się początkowy stan Q1 i Q2 = 0. Na przykład: Rysunek 9 Przebiegi czasowe sygnałów CLK, J i K dla przerzutnika JK-MS Do symulacji układu przerzutnika JK-MS wyzwalanego zboczami i rejestracji jego przebiegów czasowych, wykorzystany będzie pakiet Digital Works. Pakiet Digital Works 3.04 Pakiet Digital Works to kolejne narzędzie do symulacji układów cyfrowych. Ma mniej rozbudowane menu dostępnych gotowych elementów i modułów logicznych, jednak umożliwia budowanie własnych makr i ich wykorzystywanie jako gotowych bloków w plikach symulacyjnych. W ćwiczeniu wykorzystamy jedno z narzędzi pakietu Digital Works, pozwalające na śledzenie zmian sygnałów w czasie, a zatem pokazanie i rejestrację przebiegów czasowych układów logicznych. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 6/8
OKNO PAKIETU: Rysunek 10 Okno główne pakietu Digital Works Symulacja pracy przerzutnika JK-MS PAKIET Digital Works: 1. Otworzyć w pakiecie Digital Works nowy plik, nadać mu nazwę i zapisać --- w katalogu STUDENT-2013-2014 na dysku D:\ 2. Do symulacji dodać elementy: a. Przerzutnik JK b. Blok Zegara - połączyć z wejściem clock przerzutnika c. Dwie diody LED połączyć je z wyjściami przerzutnika nadać im nazwy Q i /Q (prawy klawisz myszy na diodzie LED i wpisać Text) wybrać też opcję Add to Logic History d. Dwa obiekty Sequence Generator połączyć je odpowiednio do wejść J i K przerzutnika - nadać im nazwy seq--j i seq--k (prawy klawisz myszy na obiekcie i wpisać Text) wybrać też opcję Add to Logic History 3. Do obiektów Sequence Generator wpisać sekwencję zmiany sygnałów prawy klawisz myszy Edit Sequence i wpisać słowa 8 bitowe jakie wynikają z wykresów na rysunku 9 a. Dla seq J: 11010011 Dla seq K: 01100110 4. W OPCJE symulacji ustawić szybkość symulacji na 1 Hz 5. Otworzyć okno LOGIC HISTORY (rysunek 11) ustawić w nim długość rejestracji przebiegów - zakres cykli zegarowych na 8 6. Uruchomić symulację i obserwować przebiegi 7. Zaproponować inne sekwencje sygnałów na wejściach J i K oraz wydłużyć czas rejestracji przebiegów do 16 cykli - obserwować przebiegi, wysnuć wnioski co do zależności sygnału wyjściwoego od zmian sygnałów na wejściach J i K 8. NA KONIEC komentarz prowadzącego zajęcia zapis tabeli stanów dla przerzutnika JK-MS różnica w wyzwalaniu poziomem i zboczami KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 7/8
Rysunek 11 Okno rejestratora przebiegów czasowych LOGIC HISTORY PODSUMOWANIE Po zajęciach Student powinien: znać i wyjaśnić różnicę między układami kombinacyjnymi a sekwencyjnymi znać budowę, zasadę działania i tabele stanów przerzutników RS znać budowę, zasadę działania i tabele stanów przerzutników JK i JK-MS oraz narysować i przeanalizować ich przebiegi czasowe Materiały: Polecam stronę WWW: http://edu.i-lo.tarnow.pl/inf/alg/002_struct/0032.php oraz pozycje zebrane w literaturze na mojej stronie WWW: http://www.kaniup.agh.edu.pl/~ozadow/str_1_el_1_mikro.html KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 8/8