Technika cyfrowa, POLITECHNIKA ŚLĄSKA Wydział Mechaniczny-Technologiczny - MiBM POLSL, Inżynierskie, ...
[ Pobierz całość w formacie PDF ]
Przygotowali: J. Michalak, M. Zygmanowski, M. Jeleń
Elektronika i techniki mikroprocesorowe
Instrukcja do zajęć laboratoryjnych
Część: Technika Cyfrowa
Liczba zajęć: 3 + zaliczające
Celem
zajęć jest zapoznanie się z podstawowymi elementami wykorzystywanymi w
technice cyfrowej takimi jak bramki logiczne, sumatory, przerzutniki, liczniki oraz
zapoznanie się z podstawowymi metodami projektowania układów cyfrowych.
Wprowadzenie
W dzisiejszym świecie układy cyfrowe i ich pochodne wykorzystywane są praktycznie w
każdej dziedzinie gospodarki – do sterowania procesami produkcyjnymi, przetwarzania,
przesyłu danych itp. W porównaniu z układami analogowymi, posiadają one takie zalety jak:
większa odporność na zakłócenia, brak wpływu starzenia się elementów, większa
elastyczność i możliwości układów.
Technika cyfrowa opiera się o sygnały cyfrowe, czyli o sygnały nieciągłe zarówno w
czasie jak i co do wartości. Duża odporność na zakłócenia tych sygnałów wynika z faktu, że
mogą one przyjmować tylko dwa stany, którym możemy przyporządkować dwie wartości
logiczne (prawda-1 i fałsz-0). Te dwa stany logiczne odpowiadają dwóm poziomom napięć –
przykładowo w technice TTL fałszowi (zeru) odpowiada napięcie 0,2 [V], natomiast prawdzie
(jedynce) - poziom 3,6 [V]. Technika cyfrowa obejmuje ogół układów realizujących różnego
rodzaju funkcje pozwalające na przetwarzanie sygnału cyfrowego. Wśród tych układów
możemy wyróżnić układy kombinacyjne i sekwencyjne. W układach kombinacyjnych nie
występują elementy pamiętające i zegarowe, a wyjścia w dowolnej chwili czasowej zależą
tylko od stanów wejść w tej samej chwili. Układy sekwencyjne natomiast to układy
zawierające elementy pamiętające i (lub) wejścia zegarowe, a stany wyjść w tych układach
zależą nie tylko od stanów wejść w danej chwili ale również od stanów tych wejść w chwilach
poprzednich.
Informacje dodatkowe
Studenci na zajęciach z przedmiotu pracują podzieleni na 6 sekcji. Warunkiem zaliczenia
zajęć laboratoryjnych jest wykonanie sprawozdania z przeprowadzonych prac na komputerze
oraz jego zaliczenie.
W ramach zajęć studenci wykonują badania symulacyjne wybranych elementów i układów
cyfrowych oraz realizują i symulują własne projekty. Zajęcia odbywają się w oparciu o pakiet
Active-CAD pozwalający na symulację układów cyfrowych oraz na zapisywanie stworzonych
projektów wewnątrz układów programowalnych. Układy te są programowalną matrycą
posiadającą wejścia i wyjścia, wewnątrz której możemy zrealizować zadany układ cyfrowy
przy założeniu pewnych ograniczeń.
Studenci przychodzą na zajęcia przygotowani w oparciu o instrukcję oraz dostępną
literaturę. Warunkiem dopuszczenia do zajęć jest znajomość zakresu materiału w stopniu
pozwalającym na realizację przewidzianego programu zajęć laboratoryjnych.
Zapisy liczb stosowane w układach cyfrowych i mikroprocesorowych
W technice cyfrowej najczęściej stosuje się binarny bądź szesnastkowy zapis liczb. W
kodzie binarnym dowolną liczbę naturalną zapisuje się jako sumę kolejnych potęg liczby 2
pomnożonej przez odpowiednie współczynniki. Przykładowo zapisując liczbę 106 w kodzie
dziesiętnym i binarnym otrzymamy:
0
6
1
10
2
0
10
1
10
- zapis dziesiętny,
1
- zapis binarny.
Pojedyncza liczba 0 bądź 1 nazywana jest bitem informacji, natomiast połączenie 8 bitów
– bajtem. W praktyce stosuje się liczby 1, 2 i więcej bajtowe. Liczba 106 zapisana w jednym
bajcie ma postać 011010101b. Oprócz systemu dwójkowego w układach mikroprocesorowych
stosuje się zapis heksadecymalny, w którym dowolna liczbę naturalną zapisuje się jako sumę
kolejnych potęg liczby 16 pomnożonych przez odpowiednie współczynniki, przy czym stosuje
się tu cyfry 0-9 i litery A-F odpowiadające liczbom: A-10, B-11, C-12, D-13, E-14, F-15.
Zapis heksadecymalny powstaje poprzez zgrupowanie po 4 bity liczby zapisanej w systemie
binarnym. Zapisana w systemie heksadecymalnym liczba 106 będzie wyglądała następująco:
106
d
= 0110 1010
b
106
d
= 6 A
h
W powyższej instrukcji i na zajęciach będą wykorzystywane wszystkie trzy przedstawione
metody zapisu liczb.
d
1101010
0
2
6
1
2
5
0
2
4
1
2
3
0
2
2
1
2
1
2
0
b
ZAJĘCIA NR 1
Układy Kombinacyjne
Układy kombinacyjne należą do najprostszych układów realizowanych w technice
cyfrowej. Stany wyjść w tych układach zależy tylko i wyłącznie od stanów wejść w tej samej
chwili czasowej. W układach kombinacyjnych wykorzystuje się bramki logiczne, sumatory,
dekodery itp. Poniżej zostaną omówione podstawowe bramki logiczne. Bramki oraz ich
tablice prawdy – czyli tablice przedstawiające stany wyjść przy wszystkich możliwych stanach
wejść, są przedstawione na rysunku.
INV AND OR
NAND
NOR
I
O
I
1
I
2
O
I
1
I
2
O
I
1
I
2
O
I
1
I
2
O
O = I
O = I
1
I
2
O = I
1
+
I
2
O = I
1
I
2
O = I
1
+
I
2
I
0
1
O
I
1
I
2
0
0
O
I
1
I
2
0
0
O
I
1
I
2
0
0
O
I
1
I
2
0
0
O
1
0
0
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
Rys.1 Podstawowe bramki logiczne
Opisy podstawowych bramek logicznych:
➢
INV(NOT) – inwerter - bramka odpowiadająca funkcji negacji w logice. Zmienia stan
sygnału cyfrowego na przeciwny (0 na 1 i 1 na 0). Bramka jednowejściowa. W
oprogramowaniu Active-CAD - symbol
INV
.
➢
AND – iloczyn – bramka odpowiadająca funkcji iloczynu logicznego w logice. Na
wyjściu pojawia się stan logiczny 1 tylko wtedy, gdy na wszystkich wejściach pojawią się
106
106
stany logiczne 1. W przeciwnym wypadku na wyjściu występuje stan logiczny 0. Bramka
dwu- lub wielowejściowa. W oprogramowaniu Active-CAD - symbol
AND2-AND18
.
➢
OR – suma – bramka odpowiadająca funkcji sumy logicznej w logice. Na wyjściu pojawia
się stan logiczny 1 jeżeli na jakimkolwiek wejściu pojawi się stan logiczny 1. W
przeciwnym wypadku na wyjściu występuje stan logiczny 0. Bramka dwu- lub
wielowejściowa. W oprogramowaniu Active-CAD - symbol
OR2-OR18
.
➢
NAND – zanegowany iloczyn. Jest to złożenie bramki AND z bramką INV. Dla tych
samych stanów wejściowych jak dla bramki AND wyjście będzie przyjmowało stany
przeciwne. Bramka dwu- lub wielowejściowa. W oprogramowaniu Active-CAD - symbol
NAND2-NAND16
.
➢
NOR – zanegowana suma. Jest to złożenie bramki OR z bramką INV. Dla tych samych
stanów wejściowych jak dla bramki OR wyjście będzie przyjmowało stany przeciwne.
Bramka dwu- lub wielowejściowa. W oprogramowaniu Active-CAD - symbol
NOR2-
NOR16
.
Bramki NAND i NOR wykorzystywane są do projektowania układów logicznych z
wykorzystaniem tablic (map) Karnaugha. Układy zbudowane z tego rodzaju bramek cechują
się tym, że cały układ kombinacyjny zbudowany jest z jednego rodzaju bramek, co zmniejsza
koszty (bramki cyfrowe występują po kilka sztuk wewnątrz jednego układu scalonego).
Podstawowe prawa algebry Boole’a
W celu minimalizacji ilości bramek cyfrowych należy się posługiwać wzorami
obowiązującymi w logice dwuwartościowej. Poniżej zestawione zostały podstawowe
zależności:
a+b = b+a a*b = b*a
a*(b+c) = a*b + a*c a+b*c = (a+b)*(a+c)
(a+b)+c = a+(b+c) (a*b)*c = a*(b*c)
a+0 = a a*1 = a
a+1 = 1 a*0 = 0
a+a = a a*a = a
a
a
=
1
a
∗
a
=
0
Prawa de Morgana
a
b
=
a
∗
b
Poniżej przedstawiony został przykład zastosowania praw algebry Boole’a do
uproszczenia funkcji logicznej.
Realizowana funkcja logiczna ma postać
:
Y = (A+B)*
C
+B*C+A
Układ cyfrowy realizujący powyższą funkcję przedstawiono na rysunku poniżej:
a
∗
b
=
a
b
Za pomocą praw algebry Boole’a funkcję logiczną możemy przekształcić do
następującej postac
i:
Y = (A+B)*
C
+B*C+A = A*
C
+B*
C
+B*C+A = A*(
C
+1)+B*(
C
+C) = A+B
Jak widać powyższy funkcja logiczna zredukowała się tylko do jednej sumy logicznej,
co znacznie upraszcza jej realizację praktyczną.
Projektowanie układów cyfrowych
W poprzednim rozdziale przedstawiona została metoda realizacji układu w oparciu o
matematyczny zapis funkcji logicznej, która może zostać poddana dodatkowo minimalizacji
w oparciu o prawa algebry Boole’a. W tym rozdziale zapoznamy się z metodami
projektowania układów cyfrowych. Pierwsza metoda (oparta o formę kanoniczną) polega na
określeniu, w oparciu o tablicę prawdy, wszystkich możliwych stanów przy których funkcja
ma przyjmować wartości równe 1, określeniu zależności opisujących każdy z tych stanów, a
następnie dokonaniu ich sumy logicznej i dokonania minimalizacji funkcji. Drugą metodą
będzie metoda oparta o tablice Karnaugha. Obie metody zostaną wytłumaczone w oparciu o
poniższy przykład.
Przykład
: Głosowania dla 4 osób.
Zadanie polega na zaprojektowaniu układu, który będzie ustawiał wyjście w
stan 1 gdy liczba osób głosujących na tak (stan wejścia w układzie – 1) będzie większa, bądź
równa liczbie osób głosujących na nie (stan wejścia w układzie – 0).
Metoda nr 1.
Rozwiązanie rozpoczynamy od narysowania tabeli prawdy. I
1
–I
4
– wejścia – osoby
głosujące, O – wyjście.
Lp. I
1
I
2
I
3
I
4
O
0 0 0 0 0 0
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 1
4 0 1 0 0 0
5 0 1 0 1 1
6 0 1 1 0 1
7 0 1 1 1 1
8 1 0 0 0 0
9 1 0 0 1 1
10 1 0 1 0 1
11 1 0 1 1 1
12 1 1 0 0 1
13 1 1 0 1 1
14 1 1 1 0 1
15 1 1 1 1 1
Jak widać z tablicy prawdy – funkcja O przyjmuje wartość 1 przy kombinacjach wejść nr: 3,
5 - 7, 9-15. Każdą z tych kombinacji można określić jednoznacznie jako iloczyn logiczny
wszystkich wejść, przy czym, gdy wejście ma wartość 0 to w zależności uwzględniamy jego
negację. Kombinacje wejść przy których O ma wartość 1 zestawiono w tabeli.
Lp. I
1
I
2
I
3
I
4
O Zależność
3 0 0 1 1 1
I
1
∗
I
2
∗
I
3
∗
I
4
5 0 1 0 1 1
I
1
∗
I
2
∗
I
3
∗
I
4
6 0 1 1 0 1
I
1
∗
I
2
∗
I
3
∗
I
4
7 0 1 1 1 1
I
1
∗
I
2
∗
I
3
∗
I
4
9 1 0 0 1 1
I
1
∗
I
2
∗
I
3
∗
I
4
10 1 0 1 0 1
I
1
∗
I
2
∗
I
3
∗
I
4
11 1 0 1 1 1
I
1
∗
I
2
∗
I
3
∗
I
4
12 1 1 0 0 1
I
1
∗
I
2
∗
I
3
∗
I
4
13 1 1 0 1 1
I
1
∗
I
2
∗
I
3
∗
I
4
14 1 1 1 0 1
I
1
∗
I
2
∗
I
3
∗
I
4
15 1 1 1 1 1
I
1
∗
I
2
∗
I
3
∗
I
4
W celu uzyskania funkcji wyjściowej należy dokonać sumy logicznej przedstawionych
powyżej zależności. Otrzymamy wtedy funkcję:
O
=
I
1
∗
I
2
∗
I
3
∗
I
4
I
1
∗
I
2
∗
I
3
∗
I
4
I
1
∗
I
2
∗
I
3
∗
I
4
I
1
∗
I
2
∗
I
3
∗
I
4
I
1
∗
I
2
∗
I
3
∗
I
4
I
1
∗
I
2
∗
I
3
∗
I
4
I
1
∗
I
2
∗
I
3
∗
I
4
I
1
∗
I
2
∗
I
3
∗
I
4
I
1
∗
I
2
∗
I
3
∗
I
4
I
1
∗
I
2
∗
I
3
∗
I
4
I
1
∗
I
2
∗
I
3
∗
I
4
Redukując powyższą funkcję otrzymamy:
O
=
I
1
∗
I
2
∗
I
3
∗
I
4
I
3
∗
I
4
I
3
∗
I
4
I
3
∗
I
4
I
3
∗
I
4
∗
I
1
∗
I
2
I
1
∗
I
2
I
1
∗
I
2
I
1
∗
I
2
∗
I
3
∗
I
4
I
3
∗
I
4
I
1
∗
I
2
∗
I
3
∗
I
4
I
3
∗
I
4
Wyrażenie w pierwszym nawiasie zawsze jest równe 1 a dodatkowo korzystając z
zależności a+a = a otrzymujemy:
O
=
I
1
∗
I
2
I
3
∗
I
4
I
1
∗
I
2
I
1
∗
I
2
I
3
∗
I
4
I
3
∗
I
4
Układ realizujący funkcje logiczną O jest następujący.
[ Pobierz całość w formacie PDF ]