Politechnika Śląska w Katowicach
Wydział Transportu
Katedra Transportu Szynowego
Zespół Automatyki w Transporcie
LABORATORIUM
TECHNIKI AUTOMATYKI
Kodery, Dekodery, Konwertery Kodu, Wyświetlacze
Kolejny nr zajęć: 5
Przedmiot: Automatyka
Rok: IV
Semestr: VII
Liczba godzin: 2
Katowice 2005
SPIS TREŚCI
1. CEL ĆWICZENIA .......................................................................................................... |
3 |
2. WSTĘP TEORETYCZNY .............................................................................................. |
3 |
2.1. Kodery ....................................................................................................................... |
4 |
2.2. Dekodery ................................................................................................................... |
5 |
2.3. Translatory ................................................................................................................ |
6 |
2.4. Konwertery kodów ..................................................................................................... |
7 |
3. OPIS STANOWISKA ...................................................................................................... |
11 |
4. PROGRAM ĆWICZENIA ............................................................................................. |
11 |
5. SPRAWOZDANIE .......................................................................................................... |
12 |
6. LITERATURA ................................................................................................................. |
12 |
7. UWAGI I WNIOSKI ....................................................................................................... |
12 |
1. CEL ĆWICZENIA
Celem ćwiczenia jest zapoznanie się studentów z koderami, dekoderami, konwerterami kodu i wyświetlaczami.
2. WSTĘP TEORETYCZNY
Podstawowym zapisem stosowanym w technice AUTOMATYKI jest zapis dwójkowy, wynikający z dwustanowości sygnałów cyfrowych. Kodowaniem nazywamy proces przyporządkowania liczbom odpowiednich symboli zerojedynkowych. Istnieje wiele odmian kodu dwójkowego. Zasadnicze znaczenia ma jednak kod odpowiadający dwójkowemu systemowi zapisu liczb kod dwójkowy naturalny .
Kody binarne, w których wykorzystane są wszystkie możliwe kombinacje symboli zerojedynkowych nazywa się kodami zupełnymi. Należą do nich :
kod dwójkowy naturalny,
kod Graya - stosowany między innymi do opisu siatek Karnaugha,
kod dopełnieniowy - stosowany do realizacji operacji arytmetycznych.
|
Kod |
||||||
Cyfra dziesiętna |
Naturalny BCD |
Aikena 2421 |
Wattsa |
Excess 3 |
Graya |
Johnsona |
1 z 10 |
0 |
0000 |
0000 |
0000 |
0011 |
0000 |
00000 |
0000000001 |
1 |
0001 |
0001 |
0001 |
0100 |
0001 |
00001 |
0000000010 |
2 |
0010 |
0010 |
0011 |
0101 |
0011 |
00011 |
0000000100 |
3 |
0011 |
0011 |
0010 |
0110 |
0010 |
00111 |
0000001000 |
4 |
0100 |
0100 |
0110 |
0111 |
0110 |
01111 |
0000010000 |
5 |
0101 |
1011 |
1110 |
1000 |
0111 |
11111 |
0000100000 |
6 |
0110 |
1100 |
1010 |
1001 |
0101 |
11110 |
0001000000 |
7 |
0111 |
1101 |
1011 |
1010 |
0100 |
11100 |
0010000000 |
8 |
1000 |
1110 |
1001 |
1011 |
1100 |
11000 |
0100000000 |
9 |
1001 |
1111 |
1000 |
1100 |
1101 |
10000 |
1000000000 |
Istotne znaczenie posiadają kody dwójkowodziesiętne służące do dwójkowego zakodowania dziesięciu cyfr. Przykłady tego typu kodów przedstawia powyższa tabela .
Przejście z jednego kodu na drugi wymaga zastosowania konwertorów kodu . Wyróżnia się następujące konwertery :
kodery - realizujące konwersję kodu „1 z N” na dowolny kod;
dekodery - realizujące konwersję dowolnego kodu na kod „1 z N”;
translatory - realizujące konwersję dwóch dowolnych kodów z których żaden nie jest kodem „1 z N”.
2.1. Kodery
Kodery (szyfratory) realizują konwersję kodu "1 z N" na dowolny inny kod. Przykładem jest koder kodu "1 z 10" na naturalny kod dwójkowy (rys. 2.1.). Wejścia kodera oznaczone są: x9,x8,...,x0, wyjścia: Z3,Z2,Z1,Z0. Bezpośrednio z tablicy zależności (tablica 2.1.) uzyskuje się wyrażenia logiczne opisujące koder:
Rys. 2.1. Schemat blokowy kodera „1 z 10”/ BCD
x9 |
x8 |
x7 |
x6 |
x5 |
x4 |
x3 |
x2 |
x1 |
x0 |
Z3 |
Z2 |
Z1 |
Z0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
Tablica 2.1. Tablica zależności kodera „1 z 10”/ BCD
Rys. 2.2. Schemat logiczny kodera „1 z 10”/ BCD
Z3 = x8 + x9
Z2 = x4 + x5 + x6 + x7
Z1= x2 + x3 + x6 + x7
Z0= x1 + x3 + x5 + x7 + x9
Schemat logiczny kodera z zastosowaniem bramek NOR ilustruje rys. 2.2. Układ ten może mieć zastosowanie, jako układ służący do ręcznego wprowadzania danych z pulpitu przez operatora. Dla operatora najwygodniejszym zapisem jest zapis w kodzie "1 z 10" (kod klawiatury, tarczy numerowej ). Kodem wewnętrznym systemu cyfrowego jest najczęściej kod BCD.
2.2. Dekodery
Dekodery (deszyfratory) to układy kombinacyjne służące do zamiany dowolnego kodu dwójkowego na kod „1 z N'.
Jeżeli zadaniem dekodera jest zamiana dwu bitowego kodu naturalnego na kod „1 z 4”, to jego działanie można opisać tablicą zależności z rys. 2.3a. Na podstawie tablicy określa się:
Schemat logiczny dekodera pokazany jest na rys. 2.3b.
a).
x1 |
x0 |
Y3 |
Y2 |
Y1 |
Y0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
b).
Rys. 2.3. Dekoder a) tablica zależności, b) schemat logiczny
2.3. Translatory
Translatory realizują konwersję dwóch dowolnych kodów, z których żaden nie jest kodem „1 z N”
Przykładem translatora jest układ cyfrowy, realizujący konwersję dwójkowego kodu naturalnego na dwójkowy kod Graya. Trzybitowy translator (rys. 2.4.) można opisać układem wyrażeń logicznych:
a).
x2 |
x1 |
x0 |
Y2 |
Y1 |
Y0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
b).
|
x1x0 |
|
|
|
|
|
|
x1x0 |
|
|
|
|
x2 |
00 |
01 |
11 |
10 |
|
|
x2 |
00 |
01 |
11 |
10 |
|
|
0 |
0 |
1 |
1 |
|
|
0 |
0 |
1 |
0 |
1 |
|
1 |
1 |
1 |
0 |
0 |
|
|
1 |
0 |
1 |
0 |
1 |
|
|
|
|
|
|
Y1 |
|
|
|
|
|
|
Y0 |
c).
Rys. 2.4. a) tablica zależności, b) siatki Karnaugha, c) schemat logiczny
2.3. Konwertery kodów
Konwertery przekształcają zbiór sygnałów wejściowych w inny zbiór sygnałów wyjściowych i należą do układów kombinacyjnych. Dlatego najbardziej naturalnym sposobem jest zastosowanie znanych metod syntezy układów kombinacyjnych w celu określania schematu logicznego konwertera. W oparciu o tablice zależności dla rozpatrywanych kodów tworzy się tablice Karnaugha d1a poszczególnych bitów kodu wyjściowego w funkcji pozycji kodu wejściowego.
Na podstawie utworzonych tablic Karnaugha wypisuje się funkcje przełączające konwertera kodu.
Znane są również dwa konwertery kodów jako układy iteracyjne. Konwertery kodów mogą być także budowane przy użyciu bardziej złożonych podzespołów cyfrowych, takich jak: liczniki, rejestry przesuwające.
Przykład
Zaprojektować:
a) konwerter kodu dwójkowego (liczb 4-bitowych) na kod BCD,
b) konwerter kodu „1 z 10” na kod dwójkowo-dziesiętny BCD,
c) konwerter kodu BCD na kod 7-segmentowego wskaźnika cyfrowego.
Konwerter kodu dwójkowego na kod BCD dla zadania a) jest układem o czterech wejściach (x0, x1, x2, x3 ) i pięciu wyjściach (Z0,Z1,Z2,Z3,Z4).
Z tablicy zależności (tablica 2.2. ) otrzymywane są siatki Karnaugha przedstawione na rys.2.5b., na których podstawie można wypisać funkcje przełączające układu konwertera:
Rys.2.5. Konwerter kodu dwójkowego na kod dwójkowo - dziesiętny BCD
a) schemat układu, b) siatki Karnaugha
Z4 = x3x2 + x3x1
Z3 = x3
Tablica 2.2.
Wartość dziesiętna |
x3 x2 x1 x0 |
z4 z3 z2 z1 z0 |
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 |
0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 |
Realizacja tego konwertera za pomocą układu kombinacyjnego daje bardzo rozbudowane schematy i dlatego jest wykonywana w ten sposób tylko dla liczb 4-bitowych.
Konwerter kodu „1 z 10” na kod dwójkowo-dziesiętny BCD jest układem o 10 wejściach (x0, x1,....,x9) i 4 wyjściach (z0,z1,z2,z3). Funkcje przełączające dla tego układu można określić bezpośrednio z tablicy zależności, przedstawionej w tablicy 2.3. Są one następujące:
Tablica 2.3.
x9 x8 x7 x6 x5 x4 x3 x2 x1 x0, |
z3 z2 z1 z0 |
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 |
0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 |
Schemat logiczny konwertera przedstawia rys.2.6.
Rys.2.6. Schemat logiczny konwertera kodu „1 z 10” na kod dwójkowo - dziesiętny BCD
Na rys.2.7.przedstawiony został wskaźnik 7-segmentowy, z którego segmentów można zestawić kształty cyfr od 0 do 9. Tak więc układ realizujący przetworzenie kodu BCD na kod wskaźnika 7-segmentowego jest konwerterem o 4 sygnałach wejściowych x0,x1,x2,x3 i 7-sygnałach wyjściowych z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7. Z tablicy zależności (tablica 2.4.) otrzymywane są tablice Karnaugha,
Rys.2.7. Wskaźnik 7-segmentowy a) pełny wskaźnik, b) konstrukcje cyfr dziesiętnych
Tablica 2.4.
Cyfra |
x3 x2 x1 x0 |
z7 z6 z5 z4 z3 z2 z1 |
0 1 2 3 4 5 6 7 8 9 |
0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 |
0 1 1 1 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 |
na podstawie których można wypisać funkcje przełączające konwertera:
3. OPIS STANOWISKA
Stanowisko laboratoryjne składa się z paneli zawierających podstawowe bramki logiczne, panele z demultiplekserami.
4. PROGRAM ĆWICZENIA
Zaprojektować translator podany przez prowadzącego
Zrealizować zaprojektowany układ na:
bramkach (NAND, NOR, NOT,EX-OR),
demultiplekserze
5. SPRAWOZDANIE
Sprawozdanie z ćwiczeń laboratoryjnych powinno zawierać:
nazwę laboratorium, temat zajęć, oznaczenie grupy dziekańskiej, nr sekcji laboratoryjnej wraz z wykazem osobowym sekcji;
cel ćwiczenia;
krótki wstęp teoretyczny;
schemat zrealizowanego układu, tok projektowania, schemat łączonego układu;
wnioski, uwagi.
6. LITERATURA
Praca zbiorowa: „Laboratorium podstaw automatyki i telemechaniki” skrypt PŚ nr 1496
H.Kamionka-Mikuła, H.Małysiak, B.Pochopień: „Układy cyfrowe. Teoria i przykłady”, Gliwice 2003
J. Siwiński: „Układy przełączające w automatyce”
J. Skorwider: „Cyfrowe układy automatyki”
J. Pieńkoś, J. Turczyński: „Układy scalone TTL w systemach cyfrowych”
J. Wróbel, A. Plaza: „Systemy czasu rzeczywistego”
W. Sasal: „Układy scalone serii UCA64/UCY74. Parametry i zastosowania”
Praca zbiorowa pod redakcją H. Małysiaka: „Teoria automatów cyfrowych - laboratorium”
Praca zbiorowa pod redakcją H. Małysiaka: „Układy cyfrowe - zadania”
7. UWAGI I WNIOSKI
(Użytkowników instrukcji dotyczące zawartości instrukcji, sposobu prowadzenia zajęć, wyposażenia stanowiska, ... itp.)
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
Automatyka - Kodery i dekodery. Konwertery kodu. Wyświetlacze
- 9 / 12 -
Y0
Y1
Y2
Y3
x1
x0
Y1
Y2
Y3
Y0
Y1
Y2
x0
x1
x2
z3
z2
z1
z0