Plik PDF
Transkrypt
Plik PDF
AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT Instrukcja do zajęć laboratoryjnych nr 3 AUTOMATYKA II rok Kierunek Transport Temat: Minimalizacja funkcji logicznych. Projektowanie układów logicznych. Opracował mgr inż. Artur Kujawski Zatwierdził dr inż. Małgorzata Szyszko Obowiązuje od: Rok akademicki 2016 / 2017 RAMOWY SPIS TREŚCI CEL I ZAKRES ĆWICZENIA .................................................................................... 3 CZĘŚĆ TEORETYCZNA ......................................................................................... 3 Systemy liczbowe – konwersja liczb dziesiętnych na binarne ......................... 3 Systemy liczbowe – konwersja liczb binarnych na dziesiętne ......................... 3 Projektowanie układów logicznych ................................................................ 4 PRZEBIEG ĆWICZENIA......................................................................................... 5 WARUNKI ZALICZENIA ........................................................................................ 7 EFEKTY KSZTAŁCENIA ......................................................................................... 7 LITERATURA ....................................................................................................... 7 2 CEL I ZAKRES ĆWICZENIA Celem ćwiczenia jest wykorzystanie wiedzy z zakresu algebry logiki do minimalizacji funkcji logicznych oraz do projektowania układów logicznych za pomocą wbudowanego pakietu symulacyjnego Matlaba o nazwie Simulink. CZĘŚĆ TEORETYCZNA Systemy liczbowe – konwersja liczb dziesiętnych na binarne Sposób zamiany liczb dziesiętnych na binarne można dokonać za pomocą prostych obliczeń. W poniższym przykładzie dokonano zamiany liczby 252 na postać binarną dzieląc poszczególne części przez liczbę 2. Jeżeli liczba dzieli się bez reszty przypisujemy po prawej stronie cyfrę 0, jeżeli po dzieleniu zostaje jakakolwiek reszta przypisujemy 1. Przykład 252 / 2 = 126 126 / 2 = 63 63 / 2 = 31 31 / 2 = 15 15 / 2 = 7 7/2=3 3/2=1 1/2=0 0 0 1 1 1 1 1 1 Wynik liczby binarnej zawsze zapisujemy od dołu do góry a więc: 11111100 Systemy liczbowe – konwersja liczb binarnych na dziesiętne Przykład Weźmy liczbę zapisaną w systemie dwójkowym, np. 1000011 Podstawą systemu binarnego jest cyfra 2 w systemie dziesiętnym. Cyfry wysunięte najbardziej na prawo reprezentują najmłodsze bity czyli liczby najsłabsze. Należy ponumerować binarne liczby zaczynając od 0 (zero). Powstałe liczby dadzą nam odpowiedni stopień potęgi liczby 2. 6 5 4 3 2 1 0 1000011 1*20 + 1*21 + 0*22 + 0*23 +0*24 + 0*25 +1*26, a to się równa: 1 + 2 + 0 + 0 + 0 + 0 + 64 = 67 w systemie dziesiętnym. 3 Projektowanie układów logicznych SIMULINK jest pakietem oprogramowania służącym do modelowania, symulacji i analizowania układów dynamicznych. Można implementować w nim zarówno układy liniowe jak i nieliniowe modelowane w czasie ciągłym, dyskretnym lub w hybrydowym w którym część układu pracuje w czasie dyskretnym natomiast inna część w czasie ciągłym. Pakiet ten można wykorzystać również do zaprojektowania oraz przetestowania układów zbudowanych z bramek logicznych. SIMULINK wyposażony jest w interfejs graficzny pozwalający w łatwy sposób budować modele w postaci schematów blokowych przy użyciu myszki komputerowej metodą „przeciągnij i upuść”. Aby dostać się do Simulinka należy wpisać w oknie głównym komendę simulink lub kliknąć taką ikonę: Po uruchomieniu interfejs przedstawia się następująco: Po lewej stronie mamy do dyspozycji drzewo kategorii z podziałem na różne bloki do budowania układów. Dla naszych potrzeb będziemy korzystali zaledwie z kilku bloków rozrzuconych po różnych kategoriach. Najprostszym sposobem na odszukanie właściwych bloków jest wpisanie w pasku wyszukiwarki odpowiedniej nazwy. (Czerwony prostokąt na rysunku powyżej). Układy budujemy przerzucając bloki do nowego pustego modelu. Ikona - New Model (biała, czysta kartka). Bloki możemy umieszczać w modelu na dwa sposoby. Albo przeciągamy i upuszczamy, albo prawy klawisz myszy i opcja Add to…Nazwa Modelu (na początku będzie to Untitled). 4 Model zazwyczaj zawiera więcej niż jeden blok jednego rodzaju, więc aby ułatwić sobie pracę warto dublować (kopiować) bloki z klawiszem Ctrl niż dodawać je co chwilę z biblioteki bloków. (Trzymamy klawisz Ctrl i przeciągamy blok obok). Przykładowy schemat w Simulinku może wyglądać jak poniżej. Zaczynając od lewej strony mamy bloki generatorów liczb stałych, bloki negacji, bloki iloczynów, blok sumy i na końcu blok wyświetlacza. Po dodaniu do modelu bramki AND będziemy mieli domyślny wygląd w kształcie kwadratu: wygląd domyślny: wygląd indywidualny: Aby zmienić kształt bramki na indywidualny należy dwukrotnym kliknięciem myszy wejść do opcji bloku i zmienić Icon Shape na Distinctive. W tym samym miejscu mamy możliwość zamiany bramek AND na OR, NOT, itd. PRZEBIEG ĆWICZENIA Celem ćwiczenia jest wykonanie poniższych zadań oraz opisanie ich wyników w sprawozdaniu – najlepiej plik Word. Elementy jakie powinno zawierać sprawozdanie opisane zostały na końcu tego rozdziału. Zadanie 1 – Zamiana systemów liczbowych 1.1 Zamień poniższe liczby dziesiętne na system binarny (rozpisz krok po korku): a) 172; b) 219; c) 303 1.2 Zamień poniższe liczby binarne na system dziesiętny (rozpisz krok po korku): a) 11000111; b) 100101011; c) 11110000 1.3 Odpowiedz na pytanie jaką największą liczbę dziesiętną jesteśmy w stanie zapisać za pomocą 8 bitów w systemie binarnym? 5 Zadanie 2 – Projektowanie układów logicznych Zaprojektuj dwa różne układy logiczne w Simulinku oraz przeprowadź symulację na podstawie poniższych funkcji logicznych. a) = b) = ̅ + + + + + + Do zaprojektowania układów będą potrzebne następujące bloki: - generatory liczb stałych - (Simulink \ Sources \ Constant) - bramki AND, OR, NOT - (Simulink \ Logic and Bits Operations) - wyświetlacz (Simulink \ Sink \ Display) Wyniki symulacji muszą być zapisane w formie tabeli dla wszystkich możliwych kombinacji. Ilość kombinacji łatwo sprawdzić wg wzoru: 2x gdzie X to ilość użytych zbiorów (np. a, b, c to 3). Fragment przykładowej tabeli z wynikami poniżej, gdzie a, b, c to zbiory a F to wynik symulacji: a 0 0 0 0 b 0 0 1 1 c 0 1 0 1 F 0 0 0 1 itd…. Sprawozdanie powinno zawierać: 1. Trzy obliczenia oraz wyniki zamiany liczb dziesiętnych na binarne. 2. Trzy obliczenia oraz wyniki zamiany liczb binarnych na dziesiętne. 3. Odpowiedź na pytanie 1.3. 4. Poprawnie zbudowane dwa układy logiczne za pomocą bramek w Simulinku (wystarczą zrzuty ekranowe schematów Alt+PrntScr) 5. Wyniki obu symulacji w tabeli prawdy dla wszystkich możliwych kombinacji zer i jedynek 6. Wnioski z dwóch ostatnich punktów. Co można odczytać z uzyskanych wyników? 6 WARUNKI ZALICZENIA Warunkiem zaliczenia ćwiczenia jest poprawne wykonanie zadań oraz wysłanie pliku sprawozdania o nazwie: Nazwisko_Imie_03 na adres http://microbot.com.pl/am/t2/ wybierając katalog dla odpowiedniej grupy laboratoryjnej. EFEKTY KSZTAŁCENIA Posiada wiedzę w zakresie obsługi komputerów osobistych z dostępem do internetu oraz obsługi systemu operacyjnego Windows z pakietem do obliczeń inżynierskich Matlab oraz Simulink. (SEKP10, SEKP11). LITERATURA 1. http://www.ont.com.pl/ 2. http://www.mathworks.com/products/matlab/ 3. http://www.mathworks.com/videos/getting-started-with-matlab68985.html?s_cid=learn_vid 7