WYDZIAŁ INŻYNIERII MECHANICZNEJ I MECHATRONIKI PODSTAWY AUTOMATYZACJI |
Ćwiczenie laboratoryjne NR. 4 |
Temat: Synteza logiczna. Prowadzący: dr inż. Mariusz Sosnowski |
Kierunek studiów: Zarządzanie i Inżynieria Produkcji |
Nr grupy: ZiIP 1-32 B |
Imię i Nazwisko: Alicja Piosik |
Data wykonania ćwiczenia: 10.12.2012 |
Cel ćwiczenia.
Celem ćwiczenia jest zaprojektowanie układu sterowania (kombinacyjnego) a następnie sprawdzenie jego działania w oprogramowaniu symulacyjnym Multisim.
Przed przystąpieniem do realizacji projektu w oprogramowaniu symulacyjnym należy dokonać szeregu obliczeń logicznych zgodnie z syntezą logiczną. Analiza działania pozwoli określić odpowiednie stany wyjściowe przy właściwych stanach sygnałów wejściowych.
Wstęp teoretyczny.
Synteza układów logicznych polega na znalezieniu takiej konfiguracji zasobów sprzętowych: bramek logicznych, przerzutników, komórek czy też makrokomórek, która realizować będzie założony układ cyfrowy (opisany zazwyczaj za pomocą języka logicznego lub sieci połączeń). Proces ten przebiega według pewnych wytycznych nakładanych przez projektanta. Może to być minimalizacja potrzebnych zasobów sprzętowych, minimalizacja maksymalnego czasu propagacji sygnału w układzie lub zmniejszenie mocy pobieranej przez układ.
Do najpopularniejszych układów logicznych zaliczamy: układy kombinacyjne, układy sekwencyjne. Cechą odróżniającą układy kombinacyjne i sekwencyjne jest właściwość pamiętania stanów logicznych, które charakteryzują się układy sekwencyjne, a której są pozbawione układy kombinacyjne. Układ kombinacyjny służy do przetwarzania informacji dyskretnej dwuwartościowej. Informacja dyskretna składa się ze znaków, którymi mogą być zarówno litery, cyfry, jak i inne symbole. W układzie kombinacyjnym każda kombinacja sygnałów wejściowych określa jednoznacznie kombinację sygnałów wyjściowych. Sygnały wejścia i sygnały wyjścia przyjmują skończoną liczbę kombinacji i skończoną liczbę wartości. Kombinacje sygnałów wejściowych są to stany wejść układu, a kombinacje sygnałów wyjściowych – stany wyjść układu. Z układem kombinacyjnym mamy do czynienia, jeżeli wartość zmiennych ze zbioru Y zależy od wartości zmiennych ze zbioru X.
Działanie układu kombinacyjnego możemy opisać wyrażeniem:
Y=f(X)
gdzie: X – zbiór wszystkich możliwych, dla danego układu stanów wejść,
X={x1,x2,…xn)
Y – zbiór wszystkich możliwych, dla danego układu stanów wyjść,
Y={y1,y2,…,yn}
Zależność Y = f (X) jest równoważna zespołowi (rodzinie) funkcji logicznej:
gdzie: n – liczba wejść układu kombinacyjnego,
m – liczba wyjść układu kombinacyjnego.
Układ logiczne o n wejściach i m wyjściach można przedstawić w postaci schematu blokowego (wielo-biegunnika), co przedstawiono na rysunku 1.
Do realizacji fizycznej kombinacyjnych układów cyfrowych są stosowane przekaźniki (lab. 01), bramki logiczne (lab. 02), a także generatory funkcji logicznych. W układach kombinacyjnych stosuje się metodę Karnaugha. Synteza układu kombinacyjnego sprowadza się do realizacji zespołu funkcji logicznych określonych na tym samym zbiorze zmiennych. O złożoności układowej świadczy liczba funktorów w układzie oraz liczba połączeń, czyli sumaryczna liczba wejść wszystkich funktorów. Obie te liczby stanowią o koszcie układu. Przy syntezie zespołu funkcji logicznych należy dążyć do minimalizacji funkcji kosztu, biorąc pod uwagę możliwość wykorzystania wspólnych iloczynów (sum) wchodzących w skład rozpatrywanych funkcji.
W celu dokonania realizacji układu kombinacyjnego należy:
określić funkcję logiczną rozpatrywanego problemu, np. za pomocą tablicy prawdy,
dokonać minimalizacji funkcji logicznej wykorzystując siatki Karnaugha lub metody algebraiczne,
sporządzić schemat układu sterowania (logicznego), realizującego zminimalizowaną funkcję logiczną.
Najczęściej stosowanym i najprostszym rodzajem opisu układu kombinacyjnego jest siatka, która ukazuje zależność sygnałów wyjściowych Y od sygnałów zmiennych wejściowych X.
Siatki Karnaugha służą do bezpośredniego zapisu n zmiennych. Są kwadratowe bądź prostokątne i zawierają 2n pól. Kolumnom (i wierszom) siatek zostały przypisane wartości w kodzie, zwanym kodem cyklicznym Graya, gdzie dwie sąsiednie pozycje różnią się jednym znakiem. Kolejność taka jest charakterystyczną właściwością siatki Karnaugha, która jest wykorzystana do przeprowadzenia uproszczenia w oparciu o tzw. regułę sklejania.
Przebieg ćwiczenia:
Symbole do wyświetlenia na wyświetlaczu siedmiosegmentowym ze wspólną katodą to: O,P,S.
Schemat wyświetlacza:
Aby wyświetlić następujące symbole będziemy używać następujących segmentów:
1 – a,b,c,d,e,f
3 – a,b,e,f,g
5 – a,c,d,f,g
Tablica prawdy:
A | B | a | b | c | d | e | f | g |
---|---|---|---|---|---|---|---|---|
0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 |
1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
1 | 1 | - | - | - | - | - | - | - |
Optymalizacja za pomocą siatek Karnauhga:
a)
B A | 0 | 1 |
---|---|---|
0 | 1 | 1 |
1 | 1 | - |
a = $\overset{\overline{}}{A} + \ \overset{\overline{}}{B}$
b)
B A | 0 | 1 |
---|---|---|
0 | 1 | 1 |
1 | 0 | - |
b = $\overset{\overline{}}{A}$
c)
B A | 0 | 1 |
---|---|---|
0 | 1 | 0 |
1 | 1 | - |
c = $\overset{\overline{}}{B}$
d)
B A | 0 | 1 |
---|---|---|
0 | 1 | 0 |
1 | 1 | - |
d = $\overset{\overline{}}{B}$
e)
B A | 0 | 1 |
---|---|---|
0 | 1 | 1 |
1 | 0 | - |
e = $\overset{\overline{}}{A}$
f)
B A | 0 | 1 |
---|---|---|
0 | 1 | 1 |
1 | 1 | - |
f = $\overset{\overline{}}{A} + \ \overset{\overline{}}{B}$
g)
B A | 0 | 1 |
---|---|---|
0 | 0 | 1 |
1 | 1 | - |
g = A + B
Schemat oraz działanie realizowanego układu:
Wnioski:
Dzięki temu ćwiczeniu laboratoryjnemu zapoznaliśmy się z projektowaniem układu sterowania z wykorzystaniem układów logicznych. Zadanie obejmowało sporządzenie tablicy prawdy (określenie funkcji logicznej rozpatrywanego problemu), minimalizację funkcji logicznej przy pomocy siatek Karnaugha, a następnie sporządzenie schematu układu sterowania. Po przeprowadzeniu symulacji realizowanego układu w programie Multisim można stwierdzić, że działa on zgodnie z tablicą prawdy.