background image

 

Mateusz Macięga 

Informatyka 

Grupa 11 

 

Laboratorium Technik Cyfrowych 

nr 3 

 

Funkcja  logiczna  może  być  w  ogólnym  przypadku  przedstawiona  za  pomocą  wielu 
różnych  mniej  lub  bardziej  skomplikowanych  funkcji  logicznych.  Zagadnienie 
minimalizacji  polega  na  wyznaczeniu  dla  danej  funkcji  tej  formuły,  która  jest 
najprostsza.  Zagadnienie  to  formułuje  się  też  inaczej  –  dla  danej  funkcji  logicznej 
należy wyznaczyć możliwą najprostszą funkcję równoważną. 

Minimalizacja  funkcji  logicznej  wiąże  się  z  porównaniem  stopnia  skomplikowania 
funkcji. 

Metody  minimalizacji  funkcji  logicznych  można  podzielić  na  dwie  grupy.  Do  pierwszej 
grupy należą metody przekształceń algebraicznych. Metody te nie są zbyt przydatne w 
praktyce. Do drugiej grupy należą metody algorytmiczne. 

Podstawową rzeczą jest stworzenie tabeli  prawdy, z której korzystamy niezależnie od 
wybranego przez nas sposobu. 

Układy  cyfrowe  to  rodzaj  układów  elektronicznych,  w  których  sygnały  napięciowe 
przyjmują  tylko  określoną  liczbę  poziomów,  którym  przypisywane  są  wartości 
liczbowe.  Najczęściej  (choć  nie  zawsze)  liczba  poziomów  napięć  jest  równa  dwa,  a 
poziomom  przypisywane  są  cyfry  0  i  1,  wówczas  układy  cyfrowe  realizują  operacje 
zgodnie  z  algebrą  Boole’a  i  z  tego  powodu  nazywane  są  też  układami  logicznymi. 
Obecnie  układy  cyfrowe  budowane  są  w  oparciu  o  bramki  logiczne  realizujące 
elementarne  operacje  znane  z  algebry  Boola:  iloczyn  logiczny  (AND,  NAND),  sumę 
logiczną  (OR,  NOR),  negację  NOT,  różnicę  symetryczną  (XOR)  itp.  Ze  względu  na 
stopień  skomplikowania  współczesnych  układów  wykonuje  się  je  w  postaci  układów 
scalonych.  

Bramka  logiczna  9 element  konstrukcyjny  maszyn  i  mechanizmów  (dziś  zazwyczaj: 
układ  scalony,  choć  podobne  funkcje  można  zrealizować  również  za  pomocą  innych 
rozwiązań  technicznych,  np.  hydrauliki  czy  pneumatyki),  realizujący  fizycznie  pewną 
prostą funkcję logiczną, której argumenty (zmienne logiczne) oraz sama funkcja mogą 
przybierać jedną z dwóch wartości, np. 0 lub 1 (zob. algebra Boole’a). 

Podstawowymi elementami logicznymi, stosowanymi powszechnie w budowie układów 
logicznych,  są  elementy  realizujące  funkcje  logiczne:  sumy  (alternatywy),  iloczynu 
(koniunkcji)  i  negacji.  Są  to  odpowiednio  bramki  OR,  AND  i  NOT.  Za  pomocą  dwóch 
takich  bramek  (np.  OR  i  NOT  lub  AND  i  NOT)  można  zbudować  układ,  realizujący 
dowolną funkcję logiczną. 

Bramki  NAND  (negacja  koniunkcji),  oraz  NOR  (negacja  sumy  logicznej)  nazywa  się 
funkcjonalnie pełnymi ponieważ przy ich użyciu (tzn. samych NAND lub samych NOR) 
można zbudować układ realizujący dowolną funkcję logiczną. 

Dowolną  bramkę  logiczną  można  też  skonstruować  za  pomocą  pary  bramek,  np.  za 
pomocą OR i NOT lub AND i NOT. Układy takie nazywamy układami zupełnymi. 

Bramkę  logiczną  XOR  często  wykorzystujemy  w  układach  arytmetyki  takich  jak 
sumatory czy subtraktory. 

 

background image

 

1.

 

Zagadnienie 

 
Zadaniem w tym ćwiczeniu jest sporządzenie układu logicznego obsługującego 
poniższy schemat: 

 

Założenia: 

9  X

1

,  X

2

,  X

3

  oznaczają  czujniki,  które  informują  układ  czy  dana  temperatura  została 

osiągnięta  

9 G

1

, G

2

 to są grzałki, które uruchamiają się jeśli zostanie osiągnięta odpowiednia dla 

nich temperatura, 

9  przyjąłem,  że  czujnik  X

1

  (dla  pozostałych  tak  samo)  emituje  „1”  jeśli  temperatura 

osiągnie lub będzie większa od T

1

9 grzałki uruchamiają się gdy otrzymają sygnał „1”, a wyłączają przy sygnale „0”, 

9 moc grzewcza G

1

 jest większa od G

2

 
2.

 

Analiza schematu 

 
W przypadku zadań 3 i 4 mamy zbudować układ logiczny na podstawie tabeli prawdy. 
W  zadaniu  4  należy  zminimalizować  układ  kombinacyjny  wg.  tabeli  Karnaugha.  W 
zadaniu 6 musimy zbudować układ  logiczny odporny na awarie. Przyjąć założenie, że 
może być uszkodzony jeden czujnik i pokazywać wtedy trwale stan „0” albo „1”.Należy 
przeanalizować ponownie tabelę prawdy i w niejasnych sytuacjach wpisać wartość „0” 
lub  „1”.  Awarię  jednego  z  czujników  rozpoznamy  wtedy,  gdy  czujnik  wyższej 
temperatury pokazuje, że temperatura została osiągnięta, a czujnik niższej pokazuje, 
że  ta  nie  została  osiągnięta.  Nie  jesteśmy  jednak  w  stanie  rozpoznać  czy  czujnik  X

3

 

uległ awarii i zwraca stale wartość „0”. Przyjmuje, że maksymalnie jeden czujnik może 
ulec  awarii  a  także  że  w  przypadku  niejednoznacznym  ważniejsze  jest  by  nie 
przekroczyć mocy grzewczej układu. 
 
 

X

1

  X

2

  X

3

  G

1

  G

2

 

0  0  0  1  1 

0  0  1  1  0 

0  1  1  0  1 

1  1  1  0  0 

 

background image

 

Zbudować wariant nieoptymalny (wg tabeli prawdy). 
 
Wariant nieoptymalny wg tabeli prawdy: 
G

1

 = (~X

1

 AND ~X

2

 AND ~X

3

) OR (~X

1

 AND ~X

2

 AND ~X

3

) OR (X

1

 AND ~X

2

 AND ~X

3

)  

         OR (~X

1

 AND ~X

2

 AND ~X

3

G

= (~X

1

 AND ~X

2

 AND ~X

3

) OR (X

1

 AND  X

2

 AND ~X

3

) OR (~X

1

 AND X

2

 AND X

3

)  

         OR (~X

1

 AND ~ X

2

 AND ~X

3

 
Tabela prawdy dla G

1

 

X

1

  X

2

  X

3

  ~X

1

  ~X

2

  ~X

3

  ~X

1

 * ~X

2

 * ~X

3

  ~X1 * ~X2 * ~X3  X1 * ~X2 * ~X3  CAŁOŚĆ 

0  0  0 

0  0  1 

0  1  1 

1  1  1 

 

Tabela prawdy dla G

2

 

X

1

  X

2

  X

3

  ~X

1

  ~X

2

  ~X

3

  ~X

1

 * ~X

2

 * ~X

3

  X1 * X2 * ~X3  ~X1 * X2 * X3  CAŁOŚĆ 

0  0  0 

0  0  1 

0  1  1 

1  1  1 

 

 

 

background image

 

3.

 

Zbudować  wariant  minimalny  najprostszy  układ  kombinacyjny  (wg  tabeli 
Karnaugha). 

 
Metoda tabeli Karnaugha – grzałka G

1

 

 

 
 
 
 
 

Grupuję jedynkami. Nie zmienia się X

2

, jego wartość to „0”. Otrzymujemy następujący 

wynik po zastosowaniu metody tabeli Karnahugha. 
 
G

= ~X

2

 

 
Metoda tabeli Karnaugha – grzałka G

2

 
 

 
 
 
 

 

Grupuję  jedynkami.  Otrzymuję  dwie  grupy.  W  pierwszej  grupie  (czerwonej)  nie 
zmienia  się  X

1

,  jego  wartość  to  „0”  oraz  X

2

,  jego  wartość  to  „1”.  W  drugiej  grupie 

(niebieskiej) nie zmienia się X

3

, jego wartość to „0”. Otrzymujemy następujący wynik 

po zastosowaniu metody tabeli Karnahugha. 
 
G

= (~X

AND X

2

) OR ~X

3

 

 
 
Uwzględniając  zminimalizowane  funkcje  dla  grzałek  otrzymuję  następujący  schemat 
logiczny: 

 

  

 

X

1

 \  X

 X

3

  00  01  11  10 

X

1

 \  X

 X

3

  00  01  11  10 

background image

 

Tabela prawdy dla zminializowanej funkcji grzałki G

2

 

X

1

  X

2

  X

3

  ~X

1

  ~X

3

  ~ X

1

 AND X

2

  (~X

1

 AND X

2

) OR ~ X

3

 

0  0  0 

0  0  1 

0  1  1 

1  1  1 

 

6.  Zbudować układ uwzględniający możliwość awarii czujników.  
 
Zbudujemy teraz układ odporny na awarię termometru. Awaria występuje wtedy kiedy 
czujnik wyższej temperatury odnotowuje, że temperatura została osiągnięta a czujnik 
niższej temperatury nie odnotowuje.  Możliwe kombinacje trzech czujników. 

 

X

1

  X

2

  X

3

  WYNIK 

0  0  0  DZIAŁA 

0  0  1  DZIAŁA 

0  1  0 

AWARIA 

0  1  1  DZIAŁA 

1  0  0 

AWARIA 

1  0  1 

AWARIA 

1  1  0 

AWARIA 

1  1  1  DZIAŁA 

 

 
Minimalizacja układu metodą tabeli Karnaugha. 

 
 
 
 
 
 
 
 
 

Otrzymujemy  dwie  grupy.  W  pierwszej  grupie  (czerwonej)  nie  zmienia  się  X

2

,  ma 

wartość „1” oraz X

3

 i ma wartość „0”. W drugiej grupie (niebieskiej) nie zmienia się X

1

ma wartość „1” oraz X

2

 i ma wartość „0”. 

 
Wynik po minimalizacji: (X

2

 AND ~X

3

) OR (X

AND ~X

2

X

1

 \  X

2

  X

3

  00  01  11  10 

 

 

background image

 

 
 

 
 

Tabela prawdy dla układu czułego na awarię: 
 

X

1

  X

2

  X

3

  ~X

2

  ~X

3

  X2 AND ~X3  X1 AND ~X2  (X2 AND ~X3) OR (X1 AND ~X2) 

0  0  0 

0  0  1 

0  1  0 

AWARIA

 

0  1  1 

1  0  0 

AWARIA

 

1  0  1 

AWARIA

 

1  1  0 

AWARIA

 

1  1  1 

 
 
 
Jest jednak pewna wada powyższego układu jeśli zepsuje się czujnik X

3

 to grzejnik G

będzie cały czas grzał. Aby zapobiec takiej sytuacji zmodyfikowałem schemat w taki 
sposób, że połączyłem wyjście alarmowe z czujnikami i w momencie zaistnienia awarii 
automatycznie wyłączane są oba czujniki. 

background image

 

 
 

Wnioski:  
Przy użyciu bramek logicznych udało nam się zbudować układ kontroli grzejników ze 
względu na daną temperaturę. Bezpośrednio z tabeli prawdy uzyskaliśmy 
skomplikowany schemat. Po minimalizacji funkcji logicznych metodą tabeli Karnaugha 
udało nam się znacznie mniejszych ilość użytych bramek logicznych. 
 
Udało mi się również stworzyć układ odporny na awarię. Niestety nie jestem w stanie 
zbudować schematu odpornego na awarię czujnika X

3

, ponieważ nie da się stworzyć 

takiej kontroli na wejściu.