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