Elementy i układy logiczne


Elementy i układy logiczne

Cel ćwiczenia

Celem ćwiczenia jest zapoznanie z podstawowymi elementami logicznymi i doświadczalne sprawdzenie podstawowych twierdzeń algebry logiki. Poznanie metod syntezy i analizy jedno- i wielowyjściowych układów kombinacyjnych oraz sposobów ich realizacji przy zastosowaniu bezstykowych elementów logicznych.

Przygotowanie

Powtórzyć materiał dotyczący działań w układzie binarnym. Elementy logiczne. Algebra Boole'a. Synteza i analiza układów logicznych.

Przykładowe pytania kontrolne

  1. Podać etapy projektowania układu logicznego

  2. Napisać i omówić reguły sklejania

  3. Narysować tablice Karnaugha dla 3 i 4 zmiennych

  4. Podać różnicę między układami kombinacyjnymi a sekwencyjnymi

  5. Podać tabele wartości dwuargumentowych funkcj i: OR, AHD, NOR, WAND.

  6. Narysować symbole graficzne funkcji: NOT, OR, AHD, NOR, NAND.

  7. Wymienić podstawowe prawa algebry Boole'a.

  8. Które prawa algebry Boole'a dotyczące alternatywy i koniunkeji różnią się od praw arytmetyki dotyczących odpowiednio dodawania i mnożenia (które prawa są takie same)?

  9. Napisać postać kanoniczną alternatywną i koniunkcyjną dla funkcji trzech argumentów.

Wprowadzenie

W procesach przemysłowych często nie jest konieczny analogowy pomiar wartości parametru, lecz jedynie rozpoznanie osiągnięcia (lub nie) jego zadanej wartości. (Parametrem tym może być na przykład: temperatura, poziom cieczy, przepływ, ciśnienie). Sterowanie urządzeniami wykonawczymi, takimi jak silniki, elektromagnesy czy elementy sygnalizacyjne, odbywa się wówczas w sposób dwustanowy, przez podanie lub niepodanie sygnału sterującego (włączenie-wyłączenie). Występuje więc sytuacja, w której zarówno czujniki, jak i elementy wykonawcze operują na sygnałach mogących przyjmować jedynie dwie wartości. Do opisu działania takich układów stosuje się algebrę Boole'a, a w obrębie niej funkcje Boole'a (funkcje logiczne).

Logiczne układy kombinacyjne

Układy logiczne można podzielić na kombinacyjne i sekwencyjne. Układy kombinacyjne to takie, których wartości wyjścia zależą jednoznacznie od aktualnego stanu wejść. Oznacza to, że stany wyjść są w pełni określone stanem wejść. W układach sekwencyjnych zasada ta nie jest spełniona i wyjście zależy również - ogólnie mówiąc - od historii układu. Metody projektowania układów sekwencyjnych i kombinacyjnych są nieco odmienne.

Układ sterowania logicznego (podobnie jak układ sterowania ciągłego) składa się z trzech funkcjonalnych elementów i bloków. Są to:

Elementami wykonawczymi układów logicznych mogą być wszystkie urządzenia sterowane dwustanowe, a więc: urządzenia z napędem elektromagnetycznym, elementy sygnalizacji optycznej i akustycznej, przekaźniki, a także silniki stałoprędkościowe (również nawrotne).

Sygnały sterujące urządzeniami wykonawczymi muszą mieć odpowiedni charakter fizyczny i moc, dlatego też na ogół istnieje konieczność wzmocnienia sygnałów wychodzących z centralnej części układu logicznego. Rolę wzmacniaczy pełnią często przekaźniki.

Podstawy algebry Boole'a

Algebra Boole'a jest "narzędziem" matematycznym służącym m.in. do opisu, analizy i syntezy układów logicznych. Stanowi ona uogólnienie rachunku zdań i algebry zbiorów uznając jedno i drugie tylko za szczególne przypadki ogólniejszej teorii. Dla zdefiniowania każdej algebry potrzebne jest określenie pewnego zbioru, działań w tym zbiorze (operacji), elementów wyróżnionych w tym zbiorze oraz zespołu aksjomatów i twierdzeń.

Binarną algebrę Bool'a tworzą:

0x01 graphic

Aksjomaty:

0x01 graphic

Aksjomaty dualne:

0x01 graphic

Twierdzenia:

0x08 graphic
0x01 graphic

Twierdzenia dualne:

0x01 graphic

Twierdzenia:

Aksjomaty dualne tworzy się poprzez zamianę w aksjomatach 1-5 '0' na '1', '1' na '0', oraz znaku 'mnożenia' na 'dodawanie'.

Związek algebry Boole'a z rachunkiem zdań i algebrą zbiorów:

0x01 graphic

Prawa algebry Boole'a:

Prawa przemienności

x1+x2=x2+x1

x1 x2=x2 x1

Prawo rozdzielności

(x1+x2) x3=x1 x3+x2 x3

(x1 x2)+x3=(x1+x3) (x2+x3)

Prawo powtórzenia

x+x=x

x x=x

Reguła sklejeń

0x01 graphic

Minimalizacja funkcji boolowskich

Funkcja przełączająca - zadana za pomocą tablic zależności, wykresów działania czy też opisu słownego - może być stosunkowo łatwo zapisana w postaci kanonicznej. Okazuje się jednak, że przydatność praktyczna (do budowy układu logicznego) tej postaci jest z reguły niewielka i że często istnieją inne, równoważne, a znacznie prostsze pod względem zapisu postacie funkcji. Optymalna postać funkcji zależy w dużym stopniu od elementów, z jakich chcemy zbudować układ, ale w procesie optymalizacji zapisu istnieje etap wspólny dla różnych realizacji, zwany minimalizacją funkcji. Polega on na poszukiwaniu takiej postaci funkcji przełączającej, w której występuje minimalna liczba liter (tzn. zmiennych lub ich negacji). Wszystkie metody minimalizacji wykorzystują tzw. reguły sklejania.

Reguły te można wyrazić następująco: suma lub iloczyn dwóch wyrażeń różniących się między sobą tylko negacją jednej zmiennej mogą być znacznie uproszczone przez odrzucenie tej zmiennej.

Rezultatem sklejania są wyrażenia, które nie są już postaciami kanonicznymi, ale zachowują postać sumy iloczynów oraz iloczynu sum, Wyrażenia tego typu przyjęto nazywać postacią normalną (zminimalizowaną) sumy i postacią normalną (zminimalizowaną) iloczynu.

Kanoniczna postać sumy -KPS- (iloczynu -KPI-) jest jedynie przejściową formą zapisu funkcji boolowskiej. Ze względów czysto technicznych wskazane jest otrzymanie takiej postaci formuły boolowskiej, aby zawierała możliwie jak najmniejszą liczbę składników sumy, o jak najmniejszej liczbie czynników tworzących dany składnik (KPS). Dla KPI postępujemy analogicznie - tzn. możliwie jak najmniejszą liczbę czynników iloczynu o jak najmniejszej liczbie składników, tworzących dany czynnik.

1. Metoda przekształceń formalnych algebraicznych:

gdzie zapis KPS bądź KPI poddaje się przekształceniom zgodnym z aksjomatami i twierdzeniami algebry Boole'a.

Przykład :

0x01 graphic

Grupowanie składników, wyłączanie przed nawias części wspólnych :

0x01 graphic

Na mocy aksjomatu 5: 0x01 graphic
otrzymujemy :

0x01 graphic

Z kolei na mocy dualnego aksjomatu 4' możemy zapisać:

0x01 graphic

Otrzymaliśmy zatem formułę dwuskładnikową o dwóch czynnikach każdy, podczas gdy pierwotna miała cztery składniki o trzech czynnikach każdy.

Gdyby założyć, że mamy do dyspozycji w realizacji technicznej elementy wykonujące operację sumy, iloczynu i negacji, wówczas oczywiście realizacja techniczna formuły uproszczonej byłaby tańsza, jeśliby przyjąć, że cena układu zależy od liczby elementów, jak i liczby połączeń między nimi.

Zastosowanie przedstawionego sposobu minimalizacji dla funkcji wielu zmiennych Jest bardzo uciążliwe i dlatego stosuje się wówczas inne metody.

Metoda tablic Karnaugha ułatwia sklejanie dzięki takiemu usytuowaniu na płaszczyźnie wyrażeń postaci kanonicznej, aby wyrażenia sąsiednie, podlegające sklejaniu, były umieszczone blisko siebie. Budowę tablic dla trzech, czterech i pięciu zmiennych przedstawiono na rysunkach. Do poszczególnych kratek tablic wpisano odpowiednie liczby, aby ułatwić ich wypełnienie, gdy funkcja jest zadana w postaci dziesiętnej.

2. Algorytmiczna metoda siatek Karnaugha:

W algorytmicznej metodzie siatek Karnaugha stosuje się tzw. regułę sklejania :

0x01 graphic

gdzie A jest dowolną formułą boolowską

Reguła sklejania pozwala dla dwóch iloczynowych członów różniących się negacją zmiennej x, wyrugować tę zmienną jako nieistotną. Sklejane człony można nazwać sąsiednimi. Zasadniczą trudnością w procesie sklejania jest wyszukanie sąsiednich członów, inaczej mówiąc - znalezienie jedynek(zer) sąsiednich, ponieważ dany składnik reprezentuje zawsze jakąś jedynkę(zero) funkcji. W metodzie siatek Karnaugha problem sąsiedztwa jest rozwiązywany przez odpowiednie narysowanie tabeli prawdy, zwanych tutaj siatkami Karnaugha. Są one skonstruowane tak, że różniącym się tylko o negację jednej zmiennej pełnym iloczynom (sumom) przyporządkowuje się leżące obok siebie pola siatki, w które wpisuje się wartości funkcji. Każdemu wierszowi zwykłej tabeli prawdy odpowiada tu jedna kratka w siatce Karnaugha. Efekt "sąsiedztwa" jest tu zapewniony dzięki odpowiedniemu opisaniu wierszy i kolumn siatki kodem Gray'a.

Podstawową własnością siatek Karnaugha jest prosta identyfikacja iloczynów (sum) , które podlegają sklejaniu, bowiem jedynkom(zerom) w kratkach przylegających do siebie bokami lub symetrycznie względem dowolnej zaznaczonej osi symetrii odpowiadają sąsiednie składniki KPS (czynniki KPI).

Siatka Karnaugha dla 2 zmiennych:

0x01 graphic

Siatka Karnaugha dla 3 zmiennych:

0x08 graphic
0x01 graphic

Siatka Karnaugha dla 4 zmiennych:

0x08 graphic
0x01 graphic

Poszczególnym kratkom siatki można przypisać dziesiętne odpowiedniki binarnym słowom opisującym tę kratkę. Oczywiście istnieje pełna dowolność w podziale zmiennych na te, które opisują kolumny i te, które opisują wiersze. Pamiętać jednak trzeba, że wówczas zmieniają się liczby dziesiętne opisujące kratki, bowiem jest to konsekwencja zmiany kolejności bitów w słowie, np. z (x1 x2 x3 x4 x5) na (x5 x4 x3 x2 x1).

Przykłady tworzenia grup sąsiednich kratek w siatce Karnaugha dla trzech zmiennych.

0x01 graphic
0x01 graphic

0x01 graphic
0x01 graphic

0x01 graphic
0x01 graphic

Wyszukując grupy sąsiednie w sensie reguły sklejania należy pamiętać o sąsiedztwie prawej i lewej krawędzi siatek oraz górnej i dolnej krawędzi. Z tego powodu godnym uwagi jest poniższy rysunek :

0x01 graphic

Ten sposób jest bardzo często pomijany przy tworzeniu grup jedynek Inne przykłady tworzenia grup sąsiednich kratek w siatce Karnaugha dla czterech zmiennych.

Kolejne kroki przy minimalizacji funkcji wpisanej do tablicy Karnaugha są następujące:

  1. Należy zdecydować, czy będzie się wybierać grupy zer, czy jedynek. Jeżeli nie ma żadnych ograniczeń (np. rodzaj elementów do realizacji układu),• należy łączyć te symbole, które dają prostsze rozwiązanie

  2. Wśród wybranych symboli (0 lub 1) poszukuje się możliwości utworzenia grup zawierających kratki o takich samych symbolach. Muszą tu być spełnione dwa warunki - grupy powinny być jak największe, a liczba grup powinna być jak najmniejsza. Symbole, których nie można połączyć w żadną grupę r zakreśla się również, jako grupy 1-kratkowe.

  3. Wyodrębnione w tablicy grupy opisuje się postacią normalną. Jeżeli w tablicy istnieje grupa, której wszystkie kratki należą do innych grup, to należy ją usunąć, pozostawiając tylko grupy niezbędne.

0x01 graphic
0x01 graphic

0x01 graphic
0x01 graphic

0x01 graphic

Podstawowe bramki logiczne.

0x01 graphic

AND
(i)
iloczyn

0x01 graphic

0x01 graphic

0x01 graphic

OR

(lub)

suma

0x01 graphic

0x01 graphic

0x01 graphic

NAND

(nie i)

negacja iloczynu

0x01 graphic

0x01 graphic

0x01 graphic

NOR

(nie lub)

negacja sumy

0x01 graphic

0x01 graphic

0x01 graphic

NOT

(nie)

negacja

0x01 graphic

0x01 graphic

0x01 graphic

EXOR - albo

(suma modulo 2,

suma wyłączająca,

różnica symetryczna)

0x01 graphic

0x01 graphic

Układ kombinacyjny realizuje określoną formułę boolowską, poprzez ściśle określoną kompozycję składowych elementów, tj. bramek łączonych z zasadą, że wyjście bramki można połączyć z wejściami innych bramek. Nie wolno łączyć ze sobą wyjść bramek, poza tym w tej klasie układów nie wolno przy łączeniu dopuszczać do powstawania pętli, tzn. od każdego wejścia musi prowadzić droga do wyjścia.

Przykłady zastosowania w praktyce elementów logicznych

Typowe moduły MSI (bloki funkcjonalne)

Wskutek dużego postępu w dziedzinie technologii układów scalonych, niektóre stosowane układy kombinacyjne i sekwencyjne są produkowane już w postaci gotowych modułów w tzw. średnim stopniu scalenia (Medium Scale Integration). Naturalną więc wydaje się tendencja, aby tego typu moduły stosować w projektowaniu bardziej złożonych układów, a właściwie należałoby powiedzieć struktur bądź zespołów funkcjonalnych.

Typowymi modułami MSI są w grupie układów kombinacyjnych - multipleksery, demultipleksery, kodery, dekodery, translatory kodów, sumatory, komparatory, pamięci stałe ROM, programowe tablice logiczne PLA; natomiast w grupie układów sekwencyjnych - liczniki, rejestry, dzielniki, podzielniki, rejestry liczące, pamięci o dostępie swobodnym RAM.

Tutaj ograniczymy się tylko do ilustracji zastosowań niektórych modułów w procesie projektowania dowolnych układów logicznych. Aktualnym kierunkiem rozwojowym w teorii układów logicznych jest poszukiwanie tzw. modułów uniwersalnych, czyli modułów logicznych w wersji scalonej, za pomocą którego można skonstruować albo dowolny układ kombinacyjny, albo też dowolny układ sekwencyjny.

Zastosowanie multipleksera jako modułu uniwersalnego w syntezie układów kombinacyjnych

Typowe multipleksery mają jedno, dwa, trzy lub cztery wejścia adresowe.

Multiplekser na swoim wyjściu powtarza sygnał tylko z jednego wejścia informacyjnego o numerze dziesiętnym będącym odpowiednikiem zapisanego adresu na wejściach informacyjnych. Multiplekser jest więc alternatywnym generatorem wszystkich możliwych pełnych iloczynów zmiennych adresowych. Przez zakazywanie zerem lub zezwalanie jedynką (na wejściach informacyjnych) można uzyskać w formie boolowskiej, opisującej wyjście multipleksera, interesujący nas zestaw pełnych iloczynów, a tym samym zrealizować dowolną funkcję boolowską o liczbie zmiennych równej liczbie wejść adresowych. Zatem dowolna funkcja boolowska k zmiennych może być zrealizowana przy użyciu multipleksera o k wejściach adresowych. Sposób realizacji idei multipleksera za pomocą bramek AND, OR i negatora

0x01 graphic

Oczywistym jest, że multiplekserów w syntezie układów kombinacyjnych nie należy stosować bezkrytycznie, lecz każdorazowo rozważyć opłacalność tego typu rozwiązania, pamiętając, że z jednej strony konfiguracje takie mają zalety jak: jednorodność struktury, mniejsza liczba potrzebnych kostek, większa niezawodność (bo mniejsza liczba połączeń zewnętrznych układu scalonego), łatwiejsze diagnozowanie układu, lecz także takie wady jak: większy koszt układów MSI, większa moc pobierana. Poza tym przydatność multiplekserów do realizacji kombinacyjnych układów wielowyjściowych wydaje się być wątpliwa, bowiem na każde wyjście układu trzeba byłoby przeznaczyć jeden multiplekser.

Demultiplekser

Idea demultipleksera

0x01 graphic

schemat zastępczy demultipleksera wykonany za pomocą bramek logicznych

0x01 graphic

Dekoder

Dekoder jest układem zmieniającym dowolny kod na kod "1 z n", gdzie na wyjściu zawsze otrzymujemy tylko jedną jedynkę (ze względu na charakter kodu "1 z n").

0x01 graphic

Etapy syntezy układów kombinacyjnych

Synteza układów kombinacyjnych, będąca zasadniczym etapem projektowania, jest to zespół czynności, które na podstawie założeń dotyczących działania układu doprowadzają do schematu logicznego, przy czyn schemat ten powinien zawierać tylko elementy przewidzianego typu i spełniać pewne wymagania optymalności. Ogólny przebieg projektowania, z zaznaczonym jego podstawowym etapem - syntezą, pokazano na rysunku. W zależności od sposobu sformułowania i złożoności zadania istnieje wiele wariantów prowadzenia syntezy; najbardziej typowe zostały zaznaczone na rysunku pogrubionymi liniami.

Etapy:

0x01 graphic

Układy sekwencyjne

Układy sekwencyjne to rodzaj układów logicznych, w których wartości sygnałów wyjściowych zależą od wartości aktualnych sygnałów wejściowych i poprzedniego stanu układu (np. przerzutniki)

Przerzutniki

Do realizacji układów cyfrowych, obok elementów logicznych, potrzebne są elementy pamięciowe, czyli przerzutniki. Budowane są one z podstawowych elementów logicznych oraz produkowane jako układy scalone.

Najprostszym elementem pamięciowym jest przerzutnik statyczny, nazwany przerzutnikiem RS. Przerzutniki scalone wykonywane są z podstawowych układów logicznych zwykle z bramek NAND lub NOR. Połączenie takich bramek w sposób pokazany na rysunku daje układ przerzutnika o dwóch stanach stabilnych zmienianych tylko przez przychodzące z zewnątrz impulsy.

0x01 graphic

Działanie przerzutnika RS jest następujące:

Gdy na wejściu R występuje sygnał 0 a na wejściu S sygnał l na wyjściu Q występuje l a na wyjściu 0x01 graphic
występuje 0 Stan l z wyjścia Q jest podawany na drugie wejście dolnej bramki stan 0 z wyjścia 0x01 graphic
jest podawany na drugie wejście górnej bramki. W rezultacie na wejściach górnej bramki występują 0, 0 a na wejściach dolnej bramki stany 1,1. Po zmianie impulsów lub stanów na obu wejściach (R = l, S = 0) na wyjściu Q występuje l a na wyjściu 0x01 graphic
stan 0. Stan wyjścia 0x01 graphic
powinien być negacją stanu wyjścia Q stąd sytuacja R= S = 0 i Q = 0x01 graphic
= l jest niemożliwa i niedozwolona. Gdy R = S = l przerzutnik przyjmuje stan istniejący poprzednio a więc nieokreślony względem wejść a więc również niedozwolony. Przerzutnik RS jest przerzutnikiem pracującym asynchronicznie. Aby przerzutnik pracował synchronicznie z innymi układami powinien mieć wejście dodatkowe tzw. wpisujące. Synchroniczne wejście wpisujące powoduje zmianę stanu wyjścia dopiero wtedy kiedy na wyjściu pojawi się impuls. Sterowanie takie nazywa się taktowaniem- Z punktu widzenia sposobu wyzwalania rozróżnia się dwa podstawowe typy przerzutników:

a) wyzwalane zboczem impulsu

b)dwutaktowe (Master - Slave)

W przerzutnikach dwutaktowych przerzutnik główny wyzwalany jest za pomocą przerzutnika pomocniczego.

Część eksperymentalna

Spis przyrządów

Zestaw statycznych układów logicznych wyposażony w dwu-, cztero-wejściowe bramki typu NAND i NOR z wyprowadzonymi na płytę czołową wejściami i wyjściami. Ponadto na płycie znajdują się lampki kontrolne, pozwalające na obserwację sygnałów wejściowych i wyjściowych oraz grupy zacisków z których pobrać można stan „0” i „1”.

Przebieg pomiarów

  1. Podłączyć do tablicy z elementami logicznymi zasilacz stabilizowany dający napięcie 5V.

  2. Przed włączeniem źródła zasilania należy raz jeszcze sprawdzić czy połączenia są wykonane zgodnie ze schematem.

  3. Poznanie układów cyfrowych należy rozpocząć od badania elementarnych funkcji opisanych w części wprowadzającej i sprawdzenie tablic prawdy danym funkcji, zrealizować zadane funkcje logiczne dokonując połączeń przewodami między funktorami NAND lub NOR, wykorzystując prawa de Morgana.

  4. Uzasadnić analitycznie i sprawdzić doświadczalnie prawa pochłaniania

  5. Zaobserwować stany wyjściowe zbudowanych układów przy użyciu indykatora stanów podając na wejście układu stany 0 lub l wiedząc, że sygnałowi l odpowiada zapalony indykator, a sygnałowi 0 - zgaszony indykator.

  6. Sporządzić i sprawdzić tablice stanów (prawdy) dla poszczególnych układów.

  1. Przeprowadzić minimalizację zadanego układu Wykonać projekt układu z bezstykowymi elementami logicznymi.

  2. Na podstawie opisu słownego lub podanej przez prowadzącego tabeli działania zaprojektować układ logiczny i sprawdzić jego działanie.

  3. Sprawdzić doświadczalnie działanie przerzutnika (elementu pamięci) zbudowanego na elementach NOR, NAND.

  4. Zbadać czy pokazane niżej układy (z lewej strony) można zastąpić innymi (po prawej stronie) - opisać funkcję logiczną którą spełniają oraz wypełnić dla nich tabele prawdy

0x08 graphic

  1. Zbadać układ:

0x08 graphic

0x08 graphic

Sprawozdanie powinno zawierać protokół z pomiarów poszerzony o obserwacje i wnioski

0x01 graphic

1

x1

x2x3

x1x2

x3x4

0x01 graphic

0x01 graphic



Wyszukiwarka

Podobne podstrony:
Elementarne uklady logiczne
Elementarne uklady logiczne
,elementy i układy elektroniczne I P, projektowanie wzmacniaczy oe
,elementy i układy elektroniczne I P, wzmacniacz tranzystorowy w układzie WE
(TBWCz Cz6 Elementy i układy pasywne)
sprawozdanie układy logiczne ćw 4
SYNTEZEAUTOMATU, ☆☆♠ Nauka dla Wszystkich Prawdziwych ∑ ξ ζ ω ∏ √¼½¾haslo nauka, Logika, układy LOGI
układy logiczne, ptul2, Tablice Karnaugha
14 elementy i uklady elektronic Nieznany
Układy logiczne
Układy logiczne cz.2, Laboratorium układów elektronicznych
Elektronika- Układy logiczne cz.1- dekodery, trans-latory.DOC, Wydz. E i A Grupa
Elektronika- Układy logiczne cz.1- dekodery, trans-latory.DOC, Wydz. E i A Grupa
elementy i uklady elektroniczne intro
Programowalne uklady logiczne

więcej podobnych podstron