Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
1
Cel ćwiczenia
Celem ćwiczenia jest poznanie zasad działania przetworników:
analogowocyfrowych A/C (ang.
ADC – Analog to Digital Converter
),
cyfrowoanalogowych C/A (ang.
DAC – Digital to Analog Converter
).
A) Część eksperymentalna
W ćwiczeniu do kontroli i sterowania urządzeń zewnętrznych (przetworników)
przy pomocy komputera i programu LabView będzie wykorzystywany port równoległy
komputera LPT.
Port równoległy LPT (ang.
Parallel Port
) jest jednym z portów
komunikacyjnych komputera. Umożliwia on równoległy przesył ,,n” bitów. Widok
portu przedstawiono na rys. 1.
Rys. 1. Port równoległy LPT
Podczas ćwiczenia będzie wykorzystywany adres bazowy portu LPT1, którego
wartość w kodzie heksadecymalnym wynosi: 378
H
.
1. Układ programowalnego interfejsu równoległego 8255
Układ 8255 (rys. 2) zawiera trzy 8bitowe porty A, B i C, które pracują jako
wejścia lub wyjścia. Opis wyprowadzeń przedstawiono w tabeli 1. W tabeli 2
przedstawiono podstawowe operacje realizowane przez układ.
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
2
Rys. 2. Układ 8255
Tab. 1.
Nazwa
Numer
wyprowadzenia
Wejście (I)
Wyjście (O)
Funkcja
D0 – D7
27 – 34
I/O
Dwukierunkowa 8bitowa magistrala
danych.
RESET
35
I
Zerowanie układu.
CS
6
I
Wybór układu. Jeśli
1
CS = , to układ
jest odłączony od magistrali danych.
RD
5
I
Sygnał odczytu.
WR
36
I
Sygnał zapisu.
A0 , A1
9 , 8
I
wejścia adresowe wybierające jeden
z portów lub rejestr sterujący.
PA0 – PA7
1 – 4, 37 – 40
I/O
Port A.
PB0 – PB7
18 – 25
I/O
Port B.
PC0 – PC7
10 – 14
I/O
Port C.
Tab. 2.
A1
A0
RD
WR
CS
Funkcja
0
0
0
1
0
Odczyt danych z portu A.
0
1
0
1
0
Odczyt danych z portu B.
1
0
0
1
0
Odczyt danych z portu C.
0
0
1
0
0
Zapis danych poprzez portu A.
0
1
1
0
0
Zapis danych poprzez portu B.
1
0
1
0
0
Zapis danych poprzez portu C.
1
1
1
0
0
Zapis słowa sterującego do rejestru sterującego
X
X
X
X
1
Magistrala danych D0 – D7 w stanie wysokiej
impedancji.
1
1
0
1
0
Niedozwolona (zawartość rejestru sterującego
nie podlega odczytowi).
X
X
1
1
0
Magistrala danych D0 – D7 w stanie wysokiej
impedancji.
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
3
Charakterystyki trybu pracy układu 8255:
tryb 0: wszystkie bramy pracują jako proste porty wejściawyjścia,
tryb 1: porty A i B działają jako wejściewyjście, część portu C wspomaga port
A, a druga część portu C wspomaga port B, (port C służy do przesyłania
sygnałów sterujących),
tryb 2: pracuje tylko brama A (dwukierunkowa) wspomagana przez bramę C
(sygnały sterujące).
Słowo sterujące:
Układ 8255 wymaga czterech komórek przestrzeni adresowej:
00
H
– port A,
01
H
– port B,
02
H
– port C,
03
H
– rejestr sterujący.
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
4
Rys. 3. Schemat połączeń pomiędzy portem równoległym a układem 8255 na
stanowisku laboratoryjnym LV100
Układ 74373 przedstawiony na rys. 3 jest rejestrem, który zawiera
8
przerzutników typu D (z wyjściem 3 stanowym). Wszystkie są sterowane poprzez
wejście zezwolenia wyjść OE (aktywne – poziom niski) oraz wejście LE (podłączone
do linii oznaczonej symbolem ALE). Jeśli na wejściu LE jest stan wysoki
przerzutniki przewodzą, natomiast jeśli podamy stan niski informacje z wejść są
zatrzaskiwane w przerzutnikach. W tabeli 3 przedstawiono podstawowe operacje
realizowane przez układ.
Tab. 3.
OE
LE
Wyjście
przerzutnika Q
t
Wyjście
przerzutnika Q
t+1
L
H
H
H
L
H
L
L
L
L
X
Q
t
H
X
X
Z
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
5
W dalszej części ćwiczenia będą wykorzystywany podprogram:
8255_output.vi (zapis danych).
Podprogram ,,8255_output.vi” skład się z :
okna panelu frontowego, w którym znajdują się dwa pola umożliwiające
podanie adresu portu układu 8255 oraz danych przeznaczonych do zapisu.
okna schematu blokowego, w którym umieszczono strukturę sekwencji
składającą się z ośmiu stron („ramek filmu”):
o
na pierwszej podano stan niski na wejście ALE oraz stan wysoki na
wejścia RD i WR układu 8255,
o
na drugiej następuje wybranie portu lub rejestru sterującego,
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
6
o
na trzecim podano stan wysoki na wejście ALE,
o
na czwartym podano stan niski na wejście ALE,
o
na piątym następuje przesłanie danych do wcześniej wybranego portu,
o
na szóstym podano stan niski na wejście WR układu 8255,
o
na siódmym umieszczono oczekiwanie = 1 ms,
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
7
o
na ósmym podano stan wysoki na wejście WR układu 8255.
2. Przetwornik analogowocyfrowy ADC0804
Przetwornik analogowocyfrowy przetwarza napięcie wejściowe na wartość
cyfrową binarną, zależną od wartości napięcia wejściowego. Zastosowany w
stanowisku laboratoryjnym przetwornik ADC0804 (rys. 4) charakteryzuje się
następującymi parametrami:
rozdzielczość: 8 bitów (0 255),
czas przetwarzania: 100 µs.
Opis wyprowadzeń przetwornika ADC0804 przedstawiono w tabeli 4.
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
8
Rys. 4. Układ ADC0804
Tab. 4.
Nazwa
Numer
wyprowadzenia
Wejście (I)
Wyjście (O)
Funkcja
DB7 – DB0
11 – 18
O
Wyjście danych.
CS
1
I
Wejście sygnału umożliwiającego
pracę (stan niski).
RD
2
I
Odczytywanie danych wyjściowych.
WR
3
I
Start przetwarzania napięcia wej.
INTR
5
O
Zakończenie przetwarzania.
V
CC
20
I
Zasilanie + 5 V.
D GND
10
I
Masa ,,cyfrowa”.
A GND
8
I
Masa ,,analogowa”.
V
REF
9
I
Wejściowe napięcie odniesienia.
(powinno być ustawione na połowę
wartości
ograniczenia
górnego
napięcia wejściowego).
V
IN
(+) ,V
IN
()
6 , 7
I
Różnicowe
wejście
napięcia
analogowego.
CLK IN
4
I
Wejście impulsów zegarowych w
zakresie 100 – 1460 kHz.
CLK R
19
O
Wyjście
impulsów
zegarowych
(sprzężenie
zwrotne
generatora
zegarowego).
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
9
Proces przetwarzania napięcia wejściowego na wartość binarną pokazano na rys. 5
(start przetwarzania) i rys. 6 (odczyt danych wyjściowych).
Rys. 5. Proces przetwarzania (start przetwarzania)
Rys. 6. Proces przetwarzania (odczyt danych wyjściowych)
Połączenia pomiędzy przetwornikiem ADC0804 a układem 8255 przedstawia rys. 7.
Rys. 8 przedstawia widok połączonego stanowiska laboratoryjnego.
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
10
Rys. 7. Schemat połączeń przetwornika A/C 0804
Rys. 8. Widok połączonego stanowiska laboratoryjnego
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
11
Przebieg ćwiczenia:
W ćwiczeniu napięcie wejściowe podane na przetwornik ADC0804 zostanie
przetworzone na wartość binarną (8 bitów). Sterowanie przetwornikiem ADC0804
odbywa się za pośrednictwem układu 8255 poprzez port równoległy LPT programem
LabView.
1. Uruchom program LabView, a następnie otwórz plik o nazwie ,,10_1.vi”
z katalogu C:/przykłady/. W oknie schematu blokowego przeanalizuj działanie
układu.
2. W oknie panelu frontowego umieszczono przycisk „Koniec odczytu”.
3. W oknie schematu blokowego umieszczono strukturę sekwencji, która składała
się z dwóch stron („ramek filmu”). Na pierwszej z nich umieszczono kolejną
strukturę sekwencji, która składa się także z dwóch stron:
na pierwszej z nich podano stan niski na wejście ALE oraz stan wysoki na
wejścia RD i WR układu 8255,
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
12
na drugiej umieszczono dane układu 8255:
port B zdefiniowany jest jako wejście,
port C7 – C4 zdefiniowany jest jako wejście (wyjście INTR w ADC0804),
port C3 – C0 zdefiniowany jest jako wyjście (wejścia RD , WR w ADC0804).
8A
H
= 10001010
B
4. Na drugiej stronie struktury sekwencji (zewnętrznej) umieszczono strukturę pętli
while
, gdzie na wejście „Warunek” podano wartość logiczną TRUE. Wewnątrz tej
pętli umieszczono strukturę sekwencji, która składa się z sześciu (0 5) stron:
na pierwszej podano stan niski na wejście WR w ADC0804,
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
13
na drugiej podano stan wysoki na wejście WR w ADC0804,
na trzeciej umieszczono oczekiwanie = 10 ms,
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
14
na czwartej podano stan niski na wejście RD w ADC0804,
na piątej umieszczono strukturę pętli
while
, gdzie na wejście „Warunek”
doprowadzono sygnał z przycisku „Koniec odczytu” umieszczonego na panelu
frontowym,
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
15
na siódmej podano stan wysoki na wejście RD w ADC0804.
5. Uruchom symulację, zaobserwuj działanie układu. W tym celu zmieniaj poziom
napięcia wejściowego (potencjometrem SVR1) podawanego na wejście
przetwornika ADC0804 w zakresie 0 – 5 V.
6. Opisz w sprawozdaniu zasadę działania i polecenia odczytu/zapisu w
przetworniku ADC0804.
3. Przetwornik cyfrowoanalogowy DAC0800
Przetwornik cyfrowoanalogowy przetwarza wartość cyfrową binarną na
napięcie wyjściowe, zależne od wartości binarnej. Zastosowany w stanowisku
laboratoryjnym przetwornik ADC0800 (rys. 9 i 10) jest 8bitowym przetwornikiem D/A.
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
16
Rys. 9. Układ DAC0800
Rys. 10. Schemat układu DAC0800
Opis wyprowadzeń przetwornika DAC0800 przedstawiono w tabeli 5.
Tab. 5.
Nazwa
Numer
wyprowadzenia
Wejście (I)
Wyjście (O)
Funkcja
B1 – B8
5 – 12
I
Wejście danych cyfrowych.
V +
13
I
Dodatnie wejście napięciowe:
18V
V
4,5V
£
+
£
V
3
I
Ujemne wejście napięciowe:
V
5
,
4
V
1,8V
-
£
£
COMP
16
I
Kompensacja.
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
17
V
LC
1
I
Logiczne
napięcie
progowe,
wykorzystywane
do
połączenia
różnych wyjść napięciowych do
wejść napięciowych DAC0800. Jeśli
źródło sygnału DAC0800 pochodzi
z wyjść TTL, to na to wejście musi
być podany stan logiczny niski
(masa).
V
REF +
, V
REF
14 , 15
I
Wejściowe
napięcie
odniesienia
wykorzystywane
do
określenia
zakresu zmian prądu.
out
I
,
out
I
4 , 2
O
Wyjścia przetwornika DAC.
Najistotniejszą cechą przetwornika DAC0800 jest fakt, iż należy jedynie podać 8
bitowy sygnał wejściowy, aby otrzymać na wyjściu sygnał w postaci prądowej. Taki
sygnał musi być jednak przekonwertowany przez wzmacniacz operacyjny (np.
LM1458), by zamienić go z postaci prądowej na napięciową, która ostatecznie może
przyjąć postać analogowego sygnału napięciowego.
Połączenia na stanowisku laboratoryjnym przedstawione są na rys. 11. Rys. 12
przedstawia widok połączonego stanowiska laboratoryjnego.
Rys. 11. Schemat połączeń na stanowisku laboratoryjnym
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
18
Rys. 12. Widok połączonego stanowiska laboratoryjnego
Przebieg ćwiczenia:
W ćwiczeniu wartość binarna wejściowa określana przez użytkownika w
programie LabView podawana jest na przetwornik DAC0800. Bity te są przesłane
poprzez port równoległy LPT za pośrednictwem układu 8255 .
Wykorzystując miernik ustaw przy pomocy potencjometrów SVR2 i SVR3
napięcie między punktami T3 i T4 = 5 V
DC
.
1. Uruchom program LabView, a następnie otwórz plik o nazwie ,,11_1.vi”
z katalogu C:/przykłady/. W oknie schematu blokowego przeanalizuj działanie
układu.
2. W oknie panelu frontowego umieszczono miernik, który będzie przedstawiał
wartość binarną podawaną na wejścia przetwornika A/C. Zakres miernika
ustawiono na wartości 0 – 5 V.
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
19
3. W oknie schematu blokowego umieszczono strukturę sekwencji, która
składała się z trzech stron („ramek filmu”):
na pierwszej podano stan niski na wejście ALE oraz stan wysoki na wejścia
RD i WR układu 8255,
na drugiej umieszczono dane układu 8255 (port B zdefiniowano jako
wyjście),
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
20
80
H
= 10000000
B
na trzeciej umieszczono strukturę pętli
for
, w której zawarto elementy
odpowiadające za:
wysłanie poprzez portu B układu 8255 danych do przetwornika DAC0800
(danymi są kolejne iteracje pętli),
wysyłana wartość jest dzielona przez 51 (ponieważ 255/51 = 5), a
następnie przedstawiania na mierniku umieszczonym na panelu
frontowym,
w celu uniknięcia zbyt szybkich zmian wskazań mierników dodano
opóźnienie 10 ms.
4. Uruchom symulację, zaobserwuj działanie układu oraz wskazania multimetru.
5. Opisz w sprawozdaniu zasadę działania przetwornika DAC0800.
4. Program wg poleceń prowadzącego ćwiczenie
Przy wykorzystaniu przedstawionych powyżej programów stwórz program zgodnie z
poleceniem prowadzącego ćwiczenie.
Opracowali: dr inż. Marek Stawowy, mgr inż. Adam Rosiński, tech. Andrzej Szmigiel
Wydział Transportu PW. Warszawa 20050901.
21
Uwaga:
Tworzony program trzeba zapisać pod nową nazwą: nazwa grupy_nazwisko_data
(np. TWT_Kowalski_20051014) w katalogu C:/przykłady/
B) Przygotowanie do ćwiczenia
Należy przygotować się z zakresu wiedzy technicznej obejmującej takie zagadnienia
jak: układy kombinacyjne, układy sekwencyjne, a w szczególności, należy
przygotować odpowiedzi na poniższe pytania i polecenia:
1. Wymień zalety i wady wykorzystania wspomagania komputerowego (na
przykładzie programu LabView) jako narzędzia kontrolnosterującego.
2. Opisz struktury sterujące w LabView.
3. Rodzaje wejść w LabView.
4. Opisz funkcje czasowe w LabView.
5. Wymień i opisz zależności arytmetyczne w LabView.
6. Wymień i opisz zależności logiczne w LabView.
7. Wymień i opisz zależności porównawcze w LabView.
8. Zapis liczb w różnych kodach liczbowych.
9. Wymień bramki logiczne.
10. Opisz rodzaje i parametry przetworników A/C i C/A.
C) Wyposażenie
Komputer ............................................................................................................. szt. 1
Stanowisko LV100 .............................................................................................. szt. 1
Kabel szeregowy.................................................................................................. szt. 1
Kabel równoległy.................................................................................................. szt. 1
Zasilacz stanowiska LV100................................................................................. szt. 1
Multimetr .............................................................................................................. szt. 1
D) Literatura
1. Misiurewicz P.: ,,Podstawy techniki cyfrowej”. WNT, 1983
2. Pieńkoś Jan, Turczyński Janusz.: ,,Układy TTL w systemach cyfrowych”.
WKiŁ,1986
3. Rosiński Adam: ,,Podstawy użytkowania programu LabView”. Warszawa, 2004
4. Tietze, Schenk: ,,Układy półprzewodnikowe”. Wydaw. Nauk. –Techn., 1996
5. Wawrzyński Wojciech: ,,Podstawy współczesnej elektroniki”. Oficyna Wydaw.
Politechniki Warszawskiej, 2003