35
Układy cyfrowe f.1/1 Automatyzacja i robotyzacja procesów produkcyjnych materiały: www .uz.zgora.pl/~ipajak

Automatyzacja i robotyzacja procesów produkcyjnychstaff.uz.zgora.pl/ipajak/materials/ar-z/wyklad01.pdf · Układy przełączające półprzewodnikowe realizujące funkcje logiczne

  • Upload
    vanthu

  • View
    237

  • Download
    0

Embed Size (px)

Citation preview

Układy cyfrowe f.1/1

Automatyzacja i robotyzacja procesów produkcyjnych

materiały: www.uz.zgora.pl/~ipajak

Układy cyfrowe f.1/2

Plan wykładu

Układy logiczne: kombinacyjne i sekwencyjne

modele: algebra Boole’a, automaty skończone,

realizacja funkcji logicznych,

wybrane sposoby realizacji elementów logicznych.

Programowalne sterowniki logiczne PLC

architektura sterownika,

programowanie sterowników (norma IEC 61131-3): typy danych, zmiennych,

języki programowania: LD, IL, ST, FBD, metoda SFC.

Układy cyfrowe f.1/3

Literatura

Układy logiczne

J. Siwiński – Układy przełączające w automatyce, WNT, Warszawa 1980

W. Szejach – Automatyka, elementy i układy przełączające, Wydawnictwa Politechniki

Warszawskiej, Warszawa 1981

Sterowniki PLC

B. Broel – Plater – Układy wykorzystujące sterowniki PLC, PWN, Warszawa 2008

J. Kasprzyk – Programowanie sterowników przemysłowych, WNT, Warszawa 2006

T. Mikulczyński – Automatyzacja procesów produkcyjnych, WNT, Warszawa 2006

M. Szafarczyk, D. Śniegulska-Grądzka, R. Wypisiński – Podstawy układów sterowań

cyfrowych i komputerowych, PWN, Warszawa 2007.

Układy cyfrowe f.1/4

Układy cyfrowe

Układy cyfrowe to układy których sygnały są sygnałami cyfrowymi (tzn. są dyskretne w czasie i

mają dyskretne wartości). Układy te są podstawowymi układami sterowania stosowanymi do

automatyzacji procesów produkcyjnych. Wykorzystanie cyfrowych urządzeń sterujących w

przypadku występowania sygnałów analogowych wymaga stosowania przetworników A/C i C/A.

Zalety układów cyfrowych

duża odporność na zakłócenia,

większa niezawodność układów,

łatwość zapamiętywania i przechowywania informacji cyfrowych,

duża dokładność przetwarzania (zależy od dokładności informacji wejściowych),

możliwość realizacji złożonych algorytmów przetwarzania sygnałów,

niski koszt w stosunku do realizowanych funkcji.

Przetwornik A/C – zamienia sygnał analogowy na sygnał cyfrowy, zamiana przebiega w trzech etapach:

próbkowanie, kwantowanie i kodowanie (kodowanie to proces polegający na przyporządkowaniu określonej

informacji ustalonego zestawu symboli, w tym przypadku wartości liczbowej odpowiadającej otrzymanemu

poziomowi kwantowania przypisywany jest jej kod – zwykle naturalny kod dwójkowy czy kod BCD).

Przetwornik C/A – zamienia sygnał cyfrowy na analogowy.

Układy cyfrowe f.1/5

Kody liczbowe

Kod to dowolnie uporządkowany układ symboli przedstawiających słowa, liczby, informacje.

Symbolami wykorzystywanymi przez kody liczbowy są cyfry.

Naturalny kod dwójkowy (binarny) – jest kodem wagowym (pozycyjnym) wykorzystującym do

kodowania cyfry 0 i 1, każda pozycja (bit) kodu ma określoną wagę: waga i-tej pozycji w n

pozycyjnym kodzie wynosi 2i gdzie i = 0, 1, 2, …, n–1.

4610 = 1·25 + 0·24 + 1·23 + 1·22 + 1·21 + 0·20 = 1011102

cyfra

dziesiętna

wagi kodów

8421 7421 2421 5211

0 0000 0000 0000 0000

1 0001 0001 0001 0001

2 0010 0010 0010 0011

3 0011 0011 0011 0101

4 0100 0100 0100 0111

5 0101 0101 1011 1000

6 0110 0110 1100 1001

7 0111 1000 1101 1011

8 1000 1001 1110 1101

9 1001 1010 1111 1111

Kody dwójkowo dziesiętne (BCD, ang. Binary Coded

Decimal) – to kody służące do dwójkowego

zakodowania cyfr dziesiętnych (0, 1, .., 9).

Do kodowania dziesięciu cyfr potrzebny jest co

najmniej 4 bitowy kod dwójkowy. W najprostszych

kodach BCD każda cyfra jest kodowana przy pomocy

dwójkowego kodu wagowego – stosowane są różne

kombinacje wag dla poszczególnych pozycji np. 8421,

7421, 2421, 5211.

Kod BCD 8421 jest nazywany naturalnym kodem

BCD lub po prostu BCD.

4610 = 0100 0110BCD

Układy cyfrowe f.1/6

Kody liczbowe – kod Graya

Kod Graya należy do grupy kodów refleksyjnych (dwie kolejne liczby kodu refleksyjnego różnią

się tylko jedną pozycją).

N–pozycyjny kod Graya można utworzyć z kodu n–1 pozycyjnego zgodnie z następującym

algorytmem:

do układu symboli kodu n–1 pozycyjnego należy dopisać jeszcze raz te same symbole ale w

odwrotnej kolejności,

do pierwotnych symboli z przodu dopisać cyfrę „0” a do symboli dopisanych „1”.

Konstrukcja 3-pozycyjnego kodu Graya

kod

1-poz.

po

odbiciu

kod

2-poz

0 0 00

1 1 01

1 11

0 10

kod

2-poz.

po

odbiciu

kod

3-poz

00 00 000

01 01 001

11 11 011

10 10 010

10 110

11 111

01 101

00 100

Układy cyfrowe f.1/7

Układy cyfrowe – pojęcia pokrewne

Układ przełączający – układ cyfrowy.

Układ zbudowany z tzw. elementów przełączających, elementy te mogą być w stanie włączenia

(przewodzenia) i wyłączenia (blokowania).

Układ logiczny – model matematyczny układu cyfrowego oparty na algebrze Boole’a; często

określenie „układ logiczny” jest stosowane zamiennie z określeniem „układ cyfrowy”.

Teoria układów cyfrowych oparta jest na logice matematycznej, głównie na rachunku zdań.

Podstawowe znaczenie ma dwuelementowa algebra Boole’a, która jest sformalizowanym

uogólnieniem rachunku zdań.

Automat skończony – model matematyczny układu cyfrowego zdefiniowany w teorii

automatów; automat skończony jest układem który może znajdować się w jednym ze

skończonej liczby stanów, każda zmiana wejść automatu powoduje zmianę jego stanu,

działanie automatu można przedstawić np. przy pomocy grafu którego wierzchołki

odpowiadają stanom automatu a gałęzie oznaczają przejście pomiędzy stanami wymuszane

określonymi sygnałami wejściowymi.

Rys. 1. Model automatu realizującego sterowanie drzwiami

czujnik „nie można zamknąć”drzwi

zamkniętedrzwi

otwarte

otwórz

drzwi otwierają się

drzwi zamykają się

czujnik „otwarte”

czujnik „zamknięte” zamknij

Układy cyfrowe f.1/8

Układy cyfrowe – klasyfikacja

Klasyfikacja ze względy na sposób przetwarzania sygnałów

układy kombinacyjne – każda kombinacja wartości sygnałów wejściowych (tzw. stan wejść)

określa jednoznacznie kombinację wartości sygnałów wyjściowych (tzw. stan wyjść), układy te

nazywane są również układami bez pamięci,

układy sekwencyjne – istnieje przynajmniej jeden stan wejść któremu odpowiada kilka stanów

wyjść, układy nazywane są również układami z pamięcią.

Klasyfikacja ze względu na rodzaj elementów konstrukcyjnych użytych do opisu układów

układy konstruowane z bramek i przerzutników,

układy konstruowane z tzw. bloków funkcjonalnych (typowe bloki funkcjonalne to

multipleksery, demultipleksery, dekodery, sumatory, komparatory, rejestry, liczniki i pamięci).

Klasyfikacja ze względu na metodę realizacji

układy stykowe (przekaźnikowe) – elementy przełączające: przyciski, przekaźniki, itp.

układy złożone z półprzewodnikowych elementów elektronicznych – elementy przełączające

budowane z pojedynczych tranzystorów, diod, rezystorów; realizowane jako układy scalone

zawierające od kilku do setek tysięcy bramek: skala integracji SSI, MSI, LSI, VLSI, w różnych

technologiach: TTL, CMOS, ..., produkowane jako układy uniwersalne lub wg projektu

użytkownika (ASIC, PLD), układy procesorowe,

układy złożone z elementów pneumatycznych, układy złożone z elementów hydraulicznych.

Układy cyfrowe f.1/9

Wybrane elementy przełączające

Elementy stykowe – elementy posiadające zestyki lub ich zespoły. Wyróżnia się:

zestyki zwierne (zestyki normalnie otwarte, NO, , ),

zestyki rozwierne (zestyki normalnie zamknięte, NZ, , ).

Zestyki mogą być uruchamiane ręcznie (np. przyciski), mechanicznie (np. łączniki krańcowe) czy

zdalnie (np. przekaźniki – przełączanie odbywa się z wykorzystaniem siły elektromagnetycznej).

a) b)

symbol symbol

Rys. 2. Elementy przełączające stykowe a) przycisk, b) przekaźnik.

a) b) c)

Rys. 3. Stykowa realizacja a) negacji, b) koniunkcji, c) alternatywy

(wej. – stan zestyków NO, wyj. – stan zestyku przekaźnika)

zestyk zwiernyzestyk rozwierny

kotwica

rdzeń

styki obwodu cewki

uzwojeniezestyk zwiernyzestyk rozwierny

Układy cyfrowe f.1/10

Wybrane elementy przełączające

Elementy półprzewodnikowe – budowane z diod, tranzystorów, rezystorów i

kondensatorów mogą realizować w zależności od wzajemnego połączenia różne

funkcje przełączające.

a) b) c)

Rys. 4. Układy przełączające półprzewodnikowe realizujące funkcje logiczne

a) negację, b) koniunkcję i c) alternatywę dla dodatniej konwencji sygnałów logicznych

tzn. napięcie o wartości +U oznacza sygnał 1, napięcie bliskie 0 oznacza sygnał o wartości 0.

R

+U

x1

x2

y= x1 x2R

–U

x1

x2

y= x1+ x2

y= x

R

+

x

Układy cyfrowe f.1/11

Wybrane elementy przełączające

Pneumatyczne elementy przełączające – budowane są jako suwakowe czy gniazdowe zawory

rozdzielające. Zawory te określają drogę (tzn. początek, koniec i kierunek) przepływu czynnika

roboczego, którym jest najczęściej powietrze. Sygnałami wejściowymi elementów są sygnały 0 –

najczęściej ciśnienie atmosferyczne i 1 – ciśnienie zasilania. Zależnie od konstrukcji mogą

realizować różne funkcje przełączające.

a) b) symbol zaworu

Rys. 5. Zawór rozdzielający 3/2 (o trzech przyłączach i dwóch położeniach) realizujący funkcję powtórzenia

a) zawór w położeniu początkowym (wej. = 0, wyj. = 0), b) zawór po przełączeniu (wej. = 1, wyj. = 1).

a) b) c)

Rys. 6. Zawór rozdzielający 3/2 realizujący a) negację b) koniunkcję c) alternatywę

(wej. – położenie suwaka, wyj. – ciśnienie przyłącza roboczego)

1 – przyłącze zasilania

2 – przyłącze robocze

3 – odpowietrzenie

1

2

3 1

2

31 3

2

1 3

2

2

1 3

2

1 3

Układy cyfrowe f.1/12

Układy kombinacyjne

Przykład 1. Urządzenie sortujące powinno umieścić badane detale w jednym z dwóch pojemników. Przed

przesunięciem detalu do odpowiedniego pojemnika, badane są przy pomocy odpowiednich czujników trzy

cechy (a, b, c) każdego z nich. Każdy z czujników sygnalizuje zbadaną przez siebie cechę jedną z dwóch

wartości (1 – wartość prawidłowa, 0 – wartość nieprawidłowa). Detal powinien trafić do pojemnika I jeżeli

co najmniej dwie cechy mają prawidłowe wartości i jedną z nich jest cecha a, w przeciwnym razie powinien

być przesunięty do pojemnika II. Należy zaprojektować urządzenie sterujące w taki sposób aby generowało

odpowiedni sygnał sterujący dla zwrotnicy urządzenia sortującego. Zwrotnica w stanie załączonym (z = 1)

powoduje, że detal trafia do pojemnika I, w stanie nie załączonym (z = 0) kieruje detal do pojemnika II.

a) b) c)

Rys. 7. Ilustracja zadania a) schemat urządzenia sortującego,

b) i c) schemat i tablica prawdy urządzenia sterującego zwrotnicą.

z = 0

a b c

z = 1

pojemnik II

pojemnik I

a b c z

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 0

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 1

b

c

z

a

urządzenie

sterujące

Układy cyfrowe f.1/13

Dwuelementowa algebra Boole’a

Dwuelementowa algebra Boole’a jest sformalizowanym uogólnieniem rachunku zdań. Jest ona

definiowana jako układ:

B = ({0, 1}, +, ·, ¯ , 0, 1),

gdzie:

{0, 1}– zbiór elementów algebry; 0,1 – stałe algebry; ¯ – jednoargumentowa operacja negacji;

+, · – dwuargumentowe operacje odpowiednio: alternatywy (sumy), koniunkcji (iloczynu)

Operacje alternatywy, koniunkcji, negacji definiowane są w sposób następujący:

Uwaga! Symbol „·” jest często pomijany, tzn. operacja a · b jest zapisywana jako ab.

alternatywa

a b a+b

0 0 0

0 1 1

1 0 1

1 1 1

koniunkcja

a b a · b

0 0 0

0 1 0

1 0 0

1 1 1

negacja

a ā

0 1

1 0

Układy cyfrowe f.1/14

Prawa istnienia elementu identycznościowego Prawa sklejania

a + 0 = 0 + a = a a 1 = 1 a = a

Prawa istnienia dopełnienia

Prawa przemienności Prawo podwójnej negacji

a + b = b + a a b = b a

Prawa łączności Inne własności

a + (b + c) = (a + b) + c a (b c) = (a b) c a 0 = 0

Prawa rozdzielności a + 1 = 1

a (b + c) = a b + a c a + b c = (a + b) (a + c)

Prawa de Morgana Prawa de Morgana dla wielu

argumentów

Prawa idempodentności

a + a = a a a = a

Prawa pochłaniania

a + a b = a a (a + b) = a

Prawa algebry Boole’a

aa

1 aa 0aa

baba baba

dcbadcba

dcbadcba

ababa

ababa

Układy cyfrowe f.1/15

Funkcje boolowskie

Funkcją boolowską (logiczną, przełączającą) nazywane jest odwzorowanie postaci:

f: X → Y,

gdzie:

X {0, 1}n = {0, 1} {0, 1} … {0, 1}; Y {0, 1};

(elementami dziedziny X są więc n-elementowe ciągi będące kombinacjami zerojedynkowymi).

Jeżeli X = {0, 1}n to funkcja jest nazywana funkcją zupełną, w przeciwnym przypadku: funkcją

niezupełną lub funkcją nie w pełni określoną.

Stosowane sposoby reprezentacji funkcji boolowskich

opis słowny (np. funkcja przyjmuje wartość 1 wtedy i tylko wtedy gdy jej obydwa argumenty

są różne),

tablice prawdy,

wyrażenia boolowskie (np. ,

wyrażenie zawierające zmienne boolowskie i operatory +, ·, ¯ ),

tablice Karnaugha (zmodyfikowane tablice prawdy)

n

a b f

0 0 0

0 1 1

1 0 1

1 1 0

b

a 0 1

0 0 1

1 1 0

baba

Układy cyfrowe f.1/16

Funkcje boolowskie – postacie kanoniczne

Każdą funkcję boolowską n zmiennych f (x1, x2, …, xn) można zapisać w postaci:

(1)

Dowód

Postać (1) jest nazywana rozwinięciem funkcji ze względu na zmienną x1.

Podobnie funkcje f (1, x2, …, xn) i f (0, x2, …, xn) można rozwinąć ze względu na zmienną x2:

(2)

Po podstawieniu (2) do (1) otrzymuje się:

Operację rozwijania można przeprowadzić dla wszystkich zmiennych x1, x2, …, xn, otrzymuje się

wtedy kanoniczną postać dysjunkcyjną funkcji.

121221 ,,,0,,,1,,, xxxfxxxfxxxf nnn

nnnn xxfxxfxxfxxftoxjesli ,,,10,,,01,,,1,,,1:1: 22221

nnnn xxfxxfxxfxxftoxjesli ,,,01,,,00,,,1,,,0:0: 22221

222 ,,0,1,,1,1,,,1 xxfxxfxxf nnn

222 ,,0,0,,1,0,,,0 xxfxxfxxf nnn

2121212121 ,,0,0,,1,0,,0,1,,1,1,,, xxxfxxxfxxxfxxxfxxxf nnnnn

Układy cyfrowe f.1/17

Funkcje boolowskie – postacie kanoniczne

Kanoniczna postać dysjunkcyjna (alternatywna) funkcji

Kanoniczna postać koniunkcyjna funkcji

Podobnie można pokazać, że funkcja n zmiennych f (x1, x2, …, xn) może być zapisana w postaci:

Iloczyn wszystkich argumentów funkcji z negacjami lub bez nazywany jest iloczynem pełnym.

Suma wszystkich argumentów funkcji z negacjami lub bez jest nazywana sumą pełną.

Uwaga! Podczas tworzenia kanonicznej postaci dysjunkcyjnej, można uwzględniać tylko te

iloczyny pełne dla których związana z nimi wartość funkcji wynosi 1. Podczas tworzenia

kanonicznej postaci koniunkcyjnej, można uwzględniać tylko te sumy pełne dla których związana

z nimi wartość funkcji wynosi 0.

nnn xxxfxxxfxxxf 212121 1,,1,01,,1,1,,,

nn xxxfxxxf 2121 0,,1,11,,0,1

nn xxxfxxxf 2121 0,,0,01,,0,0

nnn xxxfxxxfxxxf 212121 0,,0,10,,0,0,,,

nn xxxfxxxf 2121 1,,0,00,,1,0

nn xxxfxxxf 2121 1,,1,10,,1,1

Układy cyfrowe f.1/18

Funkcje boolowskie – postacie kanoniczne

Przykład 2. Podać a następnie uprościć postacie kanoniczne funkcji opisującej działanie

urządzenia z przykładu 1.

Kanoniczna postać dysjunkcyjna

z prawa idempodentności:

więc

z prawa sklejania: oraz

ostatecznie

Kanoniczna postać koniunkcyjna

z prawa sklejania: , ,

więc

z prawa rozdzielności: ostatecznie

a b c z

1 1 1 1

1 1 0 1

1 0 1 1

1 0 0 0

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 0

cbacbacbacbafz ,,

)()()()()(,, cbacbacbacbacbacbafz

bacbacba )()( bacbacba )()( ababa )()(

acbaz )(

bacbacba

cbacbacba

cbacbacbacbacbafz ,,

cacbacba

cabaz

cbacabaz acabaacbaaz )(

Wszystkie postacie

są równoważne

Układy cyfrowe f.1/19

Schematy logiczne

Przyjmując dla operacji logicznych pewne umowne symbole graficzne można dowolne

wyrażenie boolowskie przedstawić w postaci schematu logicznego.

Rys. 8. Symbole stosowane do oznaczenia wybranych operacji logicznych.

Operacja 1. sposób oznaczeń 2. sposób oznaczeń 3. sposób oznaczeń

koniunkcja (AND)

alternatywa (OR)

negacja (NOT)

negacja

koniunkcji (NAND)

negacja

alternatywy (NOR)

&

≥1

&

≥1

≥1

&

Układy cyfrowe f.1/20

Przykład 3. Narysować schemat logiczny urządzenia sterującego z przykładu 1.

W przykładzie 2. zostały wyprowadzone cztery równoważne postacie funkcji logicznej opisujące

pracę urządzenia (oznaczone zostały jako: zI, zII, zIII i zIV).

Rys. 9. Schematy logiczne urządzenia dla wyrażeń boolowskich w postaci zI, zII, zIII i zIV.

Schematy logiczne

cabazIII

cbacbacbazI )()()()()( cbacbacbacbacbazII

cbazIV

a b c

&

&

&

≥1

a b c

≥1

≥1

≥1

≥1

≥1

&

a b c

&

&

≥1

a b c

≥1&

Układy cyfrowe f.1/21

Schematy układów stykowych

Struktura układów cyfrowych realizowanych w technologii stykowo – przekaźnikowej może być

przedstawiana na tzw. schematach obwodowych (drabinkowych).

Na schematach:

każdy element lub urządzenie obwodu elektrycznego ma swoją gałąź lub tzw. tor prądowy,

gałęzie rysowane są jako pionowe i umieszczane jedna obok drugiej,

zestyki przekaźników umieszcza się w gałęziach w zależności od wykonywanego przez nie

zadania, nie jest bezpośrednio uwzględniania konstrukcja przekaźnika – tzn. cewka i zestyki

przekaźnika mogą leżeć w różnych gałęziach, związek cewki z zestykami przekaźnika

wynika z oznaczeń: cewki przekaźników oznaczane są wielkimi literami a ich zestyki tymi

samymi literami ale małymi,

zestyki zwierne oznaczane są małymi literami, zestyki rozwierne małymi literami z kreską

nad literą,

koniunkcja argumentów funkcji logicznej odpowiada szeregowemu połączeniu odpowiednich

zestyków,

alternatywa argumentów funkcji logicznej

odpowiada równoległemu połączeniu

odpowiednich zestyków,y

X

a x

x

Y

b y yxaX

xybY

Układy cyfrowe f.1/22

Schematy układów stykowych

Przykład 4. Narysować schemat obwodowy urządzenia sterującego z przykładu 1. zakładając, żepracę urządzenia opisują cztery równoważne funkcje logiczne: zI, zII, zIII i zIV.

Rys. 10. Schematy obwodowe urządzenia dla wyrażeń boolowskich w postaci zI, zII, zIII i zIV.

cabazIII

cbacbacbazI

)()()()()( cbacbacbacbacbazII

cbazIV

b

c

ZI

c c

b b

a a a

b

ba c

ZII

a c

b

c

a c

a b

a b c

c

ZIV

cb

a

c

ZIII

b

a a

Układy cyfrowe f.1/23

Minimalizacja funkcji logicznych

Celem minimalizacji funkcji logicznej jest doprowadzenie tej funkcji do postaci o możliwie

najmniejszej liczbie argumentów i najmniejszej liczbie operacji logicznych.

Minimalizację można przeprowadzić wykorzystując:

prawa algebry Boole’a,

tablice Karnaugha (inaczej: kraty Veitcha lub cykliczne siatki zależności)

tablice te ułatwiają stosowanie praw sklejania:

sąsiedztwo geometryczne kratek tablicy odpowiada sąsiedztwu logicznemu wyrażeń

reprezentowanych przez te kratki (dwa wyrażenia boolowskie określone dla tych samych

argumentów z negacjami lub bez, są wyrażeniami sąsiednimi logicznie jeśli różnią się

postacią jednego argumentu), wyrażenia sąsiednie logicznie można „skleić” np.:

w praktyce metoda jest stosowana do minimalizacji funkcji o liczbie argumentów ≤ 6,

metodę QMC (Quine’a – McCluskeya)

stosowana do minimalizacji funkcji logicznych o dowolnej liczbie argumentów.

ababa ababa

dcadcbadcba cadcadcadcbadcbadcbadcba

Układy cyfrowe f.1/24

Tablice Karnaugha

Zupełna funkcja boolowska n zmiennych jest określona dla wszystkich możliwych kombinacji

sygnałów wejściowych tzn. dziedzina jest zbudowana z 2n elementów.

Tablica Karnaugha jest kwadratową lub prostokątną siatką zbudowaną z 2n kratek (dla parzystej

liczby sygnałów wejściowych tablica ma kształt kwadratu o wymiarach 20.5n20.5n, dla

nieparzystej – prostokąta o wymiarach 20.5(n–1)20.5(n+1))).

Do opisania adresu (nr wiersza i kolumny) kratek wykorzystywany jest kod Graya. Adres kratki

wyznacza jednoznacznie wartości argumentów funkcji, wartość funkcji (tzn. 0 lub 1)

odpowiadającą tym argumentom jest wpisywana we wnętrzu kratki.

a) b) c)

Rys. 11. Tablice Karnaugha dla funkcji o: a) n=2, b) n=3 i c) n=4 zmiennych.

b

a 0 1

0

1

bc

a 00 01 11 10

0

1

cd

ab 00 01 11 10

00

01

11

10

Układy cyfrowe f.1/25

Tablice Karnaugha

Przykład 5. Wypełnić tablicę Karnaugha opisującą pracę urządzenia z przykładu 1.

a) c)

b)

d)

Rys. 12. a) Tablica prawdy urządzenia,

b), c), d) tablice Karnaugha dla różnej kolejności oznaczeń wierszy i kolumn

a b c z

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 0

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 1

bc

a 00 01 11 10

0 0 0 0 0

1 0 1 1 1

bc

a 10 11 01 00

1 1 1 1 0

0 0 0 0 0

ab

c 00 01 11 10

0 0 0 1 0

1 0 0 1 1

Układy cyfrowe f.1/26

Tablice Karnaugha

Każda kratka tablicy odpowiada jednej kombinacji zmiennych wejściowych (jednemu pełnemu

iloczynowi kanoniczej postaci dysjunkcyjnej lub jednej pełnej sumie kanonicznej postaci

koniunkcyjnej). Podobnie jak w przypadku tablic prawdy:

• iloczyn pełny odpowiadający wybranej kratce budowany jest w postaci iloczynu argumentów

funkcji (argument jest negowany jeżeli odpowiada sygnałowi o wartości 0),

• suma pełna odpowiadająca wybranej kratce budowana jest w postaci sumy argumentów funkcji

(argument jest negowany jeżeli odpowiada sygnałowi o wartości 1).

Sąsiednie kratki odpowiadają wyrażeniom

sąsiednim logicznie, np.:

Sąsiednimi są również kratki skrajne: dla 3

zmiennych należy wyobrazić sobie, że

sklejone są lewy i prawy brzeg tablicy,

sąsiednimi są więc np.:

Sąsiedztwo dla 4 zmiennych wprowadzają sklejone brzegi lewy i prawy oraz górny i dolny, dla 5

i 6 zmiennych wprowadzane są dodatkowe linie, które wyznaczają dodatkowe sąsiedztwa.

bc

a 00 01 11 10

0

1cba

cba

cba

cba

cba

cba

cbaicbacbaicba ,

cbaicbacbaicba ,

Układy cyfrowe f.1/27

Minimalizacja funkcji logicznych: tablice Karnaugha

Tablice Karnaugha ułatwiają stosowanie praw sklejania – wyodrębniając jak najmniejszą liczbę

jak największych grup, które pokrywają wszystkie jedynki lub zera funkcji otrzymuje się postać

funkcji zawierającą minimalną liczbę operatorów logicznych.

Sklejanie iloczynów pełnych prowadzi do normalnej postaci dysjunkcyjnej, a sklejanie sum

pełnych do normalnej postaci koniunkcyjnej.

Normalna postać dysjunkcyjna (koniunkcyjna) jest sumą iloczynów (iloczynem sum) dowolnej

liczby argumentów funkcji z negacjami lub bez.

Metoda Karnaugha prowadząc do wyznaczenia minimalnej normalnej postaci dysjunkcyjnej

(koniunkcyjnej) polega na:

wyszukiwaniu i zaznaczeniu wśród niezaznaczonych jeszcze kratek tablicy samodzielnych

grup jedynek (zer) obejmujących 2n kratek (n = …, 3, 2, 1, 0)

jeżeli po wyodrębnieniu wszystkich samodzielnych grup pozostają jeszcze niezaznaczone

jedynki (zera) to należy je połączyć z kratkami zaznaczonymi tak aby zaznaczona w ten

sposób grupa reprezentowała iloczyn (sumę) o najmniejszej liczbie argumentów.

Układy cyfrowe f.1/28

Minimalizacja funkcji logicznych: tablice Karnaugha

Przykład 6. Przeprowadzić minimalizację funkcji logicznej opisującej pracę urządzenia z

przykładu 1. (tablica Karnaugha funkcji została podana w przykładzie 5.).

Ostatecznie:

z = a b + a c

lub

z = a (b + c)

Minimalna normalna postać dysjunkcyjna

• na dwa sposoby można wyodrębnić dwuelementową grupę zbudowaną z jedynek (załóżmy, że zaznaczona

została grupa oznaczona *),

• pozostała jedynka musi tworzyć grupę z już zaznaczoną jedynką (grupa **),

• ostatecznie: z = a b + a c.

Minimalna normalna postać koniunkcyjna

• można wyodrębnić czteroelementową grupę zbudowaną z zer (grupa ●)

• pozostałe zero musi tworzyć grupę z już zaznaczonym zerem (grupa ●●)

• ostatecznie: z = a (b + c).

bc

a 00 01 11 10

0 0 0 0 0

1 0 1 1 1

*

**

cacbacba

bacbacba

ababacbacbacbacba ●

●● cbcbacba

Układy cyfrowe f.1/29

Hazard w układach logicznych

Hazard – zjawisko polegające na tym, że poprawnie logicznie zaprojektowany układ może w

pewnych warunkach – na skutek niedokładności swoich elementów składowych – działać

nieprawidłowo. Nieprawidłowa praca układów kombinacyjnych polega na krótkotrwałym

pojawieniu się na wyjściu układu błędnego sygnału.

Źródła hazardu

w układach stykowych zakłada się np. że zmiana stanu przekaźnika powoduje równoczesne

przełączenie zestyków zwiernego i rozwiernego – w praktyce przełączenie może nie być

równoczesne,

w układach bezstykowych sygnały wejściowe są przetwarzane równolegle, czas przejścia

sygnału dla każdej ze ścieżek może być różny (czasy działania elementów przełączających oraz

ich ilość mogą być różne) – stąd sygnał na wyjściu nie zawsze musi odpowiadać aktualnym

sygnałom wejściowym.

Eliminacja hazardu

Eliminacja hazardu polega na dołączaniu do układu dodatkowych elementów

uniemożliwiających powstanie hazardu – są to tzw. grupy antyhazardowe.

W tablicy Karnaugha układu w którym występuje hazard znajdują się grupy, które nie są

połączone z innymi grupami. Grupy jedynek (zer) należy wyodrębniać w taki sposób aby każda

para sąsiednich kratek tablicy znajdowała się w tej samej wspólnej grupie.

Układy cyfrowe f.1/30

Hazard w układach logicznych

Przykład 7. Zbudować bezhazardowy układ sterujący zwrotnicą urządzenia z sortującego.

Zwrotnica powinna być załączona (z = 1) jeżeli co najmniej dwie cechy detalu mają prawidłowe

wartości i jedną z nich jest cecha a albo prawidłową wartość ma wyłącznie cecha b, w

przeciwnych przypadkach zwrotnicę należy wyłączać (z = 0).

W tablicy Karnaugha układu można wyodrębnić trzy

dwuelementowe grupy jedynek, przy czym grupy (*) i (***)

pokrywają wszystkie jedynki tablicy.

Funkcję logiczną opisującą działanie urządzenia można zapisać

w postaci:

lub gdyby została uwzględniona grupa (**) , w postaci:

W układzie opisanym funkcją zI występuje hazard. Układ opisany funkcją zII nie ma tej wady.

Grupa ** jest grupą antyhazardową.

bc

a 00 01 11 10

0 0 0 0 1

1 0 1 1 1

*ca

**ba

***cb

,cbcazI

.bacbcaz II

Układy cyfrowe f.1/31

Hazard w układach logicznych

Układ stykowy

Jeżeli zestyk zwierny przekaźnika c zostanie otwarty

na chwilę wcześniej przed zamknięciem zestyku

rozwiernego tzn.

więc na wyjściu układu jest chwilowo sygnał 0.

Układ z dodatkową gałęzią ab ma w tym czasie na

jej wyjściu sygnał równy 1, więc na wyjściu układu

cały czas jest właściwy sygnał 1.

Układ bezstykowy

Przejście sygnału przez linię zawierającą bramkę

NOT trwa dłużej. Przez chwilę gdy sygnał na

wyjściu bramki * będzie już równy 0, sygnał na

wyjściu bramki *** jest jeszcze równy 0, więc na

wyjściu pojawia się chwilowo 0.

Układ z dodatkową bramką ** ma w tym czasie na

jej wyjściu sygnał równy 1, więc na wyjściu układu

cały czas jest właściwy sygnał 1.

Rys. 13. Schemat urządzenia (linią przerywaną zaznaczono antyhazardową grupę **)

c

Z

c

a b

b

a

W układzie opisanym funkcją zI błędna wartość sygnału na wyjściu pojawia się w przypadku gdy po detalu o

cechach a = b = c = 1 pojawi się detal o a = b = 1 i c = 0.

c = 0 a jeszcze c = 0 to:

a c = 0 oraz b c = 0,

a b c→ →

*

***

**

≥1

&

&

&

Układy cyfrowe f.1/32

Wielowyjściowe układy kombinacyjne

Przykład 8. Zbudować układ sterujący dwiema zwrotnicami urządzenia sortującego. Zwrotnice kierują detale

do trzech pojemników w zależności od wartości trzech cech sortowanych detali. Detale o conajmniej dwóch

nieprawidłowych cechach powinny trafiać do pojemnika I, detale o wszystkich prawidłowych cechach do

pojemnika II, a pozostałe detale do pojemnika III.

b)

a)

c) d)

Rys. 14. Ilustracja zadania a) schemat urządzenia sortującego, b) tablica prawdy urządzenia sterującego

zwrotnicami, c) i d) tablice Karnaugha odpowiednio dla zwrotnicy pierwszej i drugiej.

a b c p z1 z2

0 0 0 I 1 1

0 0 1 I 1 1

0 1 0 I 1 1

0 1 1 III 0 0

1 0 0 I 1 1

1 0 1 III 0 0

1 1 0 III 0 0

1 1 1 II 0 1

bc

a 00 01 11 10

0 1 1 0 1

1 1 0 0 0

bc

a 00 01 11 10

0 1 1 0 1

1 1 0 1 0

z1 = 0

z1 = 1a b c

pojemnik III

pojemnik I

z2 = 0

pojemnik II

z2 = 1

Układy cyfrowe f.1/33

bc

a 00 01 11 10

0 1 1 0 1

1 1 0 1 0

bc

a 00 01 11 10

0 1 1 0 1

1 1 0 0 0

Wielowyjściowe układy kombinacyjne

Rys. 15. Tablice Karnaugha oraz schemat logiczny układu z przykładu 8.

Wielowyjściowy układ o m wejściach i k wyjściach można zapisać w postaci układu k funkcji boolowskich o

m argumentach (każda z funkcji opisuje jedno z wyjść układu).

Minimalizację takiego układu można przeprowadzić minimalizując każdą z opisujących go funkcji

oddzielnie. Otrzymane w ten sposób funkcje są minimalne ale cały układ najczęściej może być zapisany

jeszcze prościej. Prostszy zapis całego układu można otrzymać wykorzystując wspólne człony występujące w

opisach poszczególnych wyjść. Występowanie takich samych fragmentów opisu można wykryć analizując

tablice Karnaugha lub stosując zmodyfikowaną metodę QMC.

cabacb cba

cabacbz 1

cbazcbacabacbz 12

a b c

&

&

&

&

≥1

≥1z1

z2

Układy cyfrowe f.1/34

Minimalizacja funkcji nie w pełni określonych

Przykład 9. Zbudować układ sterujący pracą zaworów Z1 i Z2. Zawory powinny być otwierane lub zamykane

w zależności od ilości wody w zbiorniku. Poziom cieczy w zbiorniku jest kontrolowany przez czujniki A i B

(a = 0 – poziom wody poniżej A, a = 1 – poziom wody powyżej A; b = 0 – poziom wody poniżej B, itd.).

Obydwa zawory powinny być otwarte gdy zbiornik jest pusty (a=0, b=0), w przypadku gdy zbiornik jest

pełen (a=1, b=1) zawory powinny być zamknięte, jeżeli zbiornik jest „niepełen” (a=1, b=0) należy otworzyć

zawór Z1 a zamknąć Z2.

Dziedzinę funkcji opisujących pracę zaworów Z1 i Z2 tworzą 3 dwuelementowe ciągi odpowiadające stanom

czujników A i B: (a=0, b=0), (a=1, b=0) i (a=1, b=1). Sytuacja (a=0, b=1) nigdy nie może wystąpić – wartość

sygnału wyjściowego dla tej kombinacji sygnałów wejściowych nie ma więc żadnego znaczenia.

Do zaznaczania nieokreślonej wartości sygnału wyjściowego używany jest znak –. Funkcje które nie są

określone dla wszystkich możliwych kombinacji sygnałów wejściowych są funkcjami nie w pełni

określonymi.

a) b)

c) d)

Rys. 16. Ilustracja zadania a) zasilanie zbiornika, b) tablica prawdy urządzenia sterującego zaworami,

c) i d) tablice Karnaugha odpowiednio dla zaworu Z1 i Z2..

a

Z1

b

Z2

b

a 0 1

0 1 –

1 1 0

b

a 0 1

0 1 –

1 0 0

a b z1 z2

0 0 1 1

1 0 1 0

1 1 0 0

0 1 – –

Układy cyfrowe f.1/35

Minimalizacja funkcji nie w pełni określonych

Podczas sklejania stany – można traktować jako 1 lub 0 tak by uzyskiwane grupy były jak

największe. Dla określonej funkcji wybrany stan nieokreślony musi być traktowany w ten sam

sposób.

Rys. 17. Tablice Karnaugha oraz schemat logiczny układu z przykładu 9.

b

a 0 1

0 1 –

1 1 0

b

a 0 1

0 1 –

1 0 0

bz 1

az 2

stan nieokreślony potraktowany jak stan 0

b

a

stan nieokreślony potraktowany jak stan 1