LABORATORIUM MIERNICTWA KOMPUTEROWEGO
Ćwiczenie nr 3
Przetwornik ADC - pomiary napięcia i prądu
KARTA PRZETWORNIKA A/C FLASH
PODSTAWOWE WŁAŚCIWOŚCI KARTY
Karta przetwornika analogowo-cyfrowego jest modułem pomiarowym przeznaczonym do pracy w systemie EURO. System ten jest zainstalowany w Pracowni Miernictwa Komputerowego. Głównym zadaniem karty jest przetwarzanie napięciowego sygnału analogowego na postać cyfrową. Podstawowe cechy karty to:
Rozdzielczość 12 bitów
Szybkość przetwarzania do 25 MSPS (milionów próbek na sekundę)
Wewnętrzny bufor danych 32 k
Dwa zakresy napięć wejściowych 1V i 2V
Wejście DC lub AC
Impedancja wejściowa 50 lub 1M
Układ wyzwalania (trigger)
Dwa tryby pracy:
pojedyncze próbki
seria 32k próbek
Dwa rekonfigurowalne w systemie układy sterujące pracą karty [5].
ZASADA DZIAŁANIA
Kartę można podzielić na kilka bloków funkcyjnych, z których każdy ma inne zadanie. Bloki te przedstawione są na poniższym schemacie blokowym:
Rys. 1. Schemat blokowy karty przetwornika A/C
BUFOR
Bufor służy do odseparowania wewnętrznej magistrali danych od magistrali danych EURO. Rozwiązanie to jest konieczne wtedy, gdy dane przesyłane są po magistrali w dwóch kierunkach pomiędzy wieloma urządzeniami.
UKŁAD IDENTYFIKACJI KARTY
Układ identyfikacji karty umożliwia wykrycie jej w systemie oraz gdy jest więcej kart pomiarowych w kasecie EURO - jej rozpoznanie. Dzięki temu możliwe jest automatyczne, wykonywane na poziomie programu komputerowego, sterowanie tą kartą.
BLOK A/C
W bloku A/C sygnał podawany na wejście jest przetwarzany na sygnał cyfrowy. Znajduje się tu między innymi układ, dzięki któremu możliwa jest zmiana trybu pracy na DC lub na AC. Pozwala to przetwarzać sygnały ze składową stałą lub bez niej. Blok A/C umożliwia także wybór impedancji wejściowej: 50 lub 1 M. Daje to możliwość podłączenia do wejścia przewodu koncentrycznego o impedancji 50 , lub też pracę z dużą impedancją wejściową tak by nie obciążać źródła sygnału. W omawianym bloku zastosowany jest wzmacniacz operacyjny, którego zadaniem jest przesunięcie wejściowego napięcia symetrycznego tak by znalazło się ono w takim przedziale napięć jaki jest wymagany przez przetwornik analogowo - cyfrowy.
Kolejną funkcją jaką wykonuje blok A/C jest wytwarzanie na wyjściu sygnału TRIG, który ma poziomy napięć zgodne z technologią TTL . Jego dodatnie lub ujemne zbocze może być wykorzystane przez układ sterujący jako sygnał inicjujący proces przetwarzania a/c. Przy pisaniu programu komputerowego do obsługi karty, należy zwrócić uwagę na fakt, iż sygnał wejściowy przechodzący przez zero od wartości ujemnych do dodatnich generuje zmianę sygnału TRIG z logicznej jedynki na logiczne zero (i odwrotnie w przeciwnym wypadku).
PAMIĘĆ
Na wyjściu omawianego bloku A/C podawane są przetworzone dane pomiarowe, które mogą zostać dalej przesłane, za pośrednictwem bufora, do magistrali EURO lub też mogą być zgromadzone w wewnętrznej pamięci. Dzieje się tak gdy szybkość przetwarzania przez przetwornik analogowo - cyfrowy jest większa od szybkości przesyłania danych pomiędzy kartą a komputerem. Zastosowana na karcie pamięć składa się z dwóch ośmiobitowych układów pamięci statycznej, które pracują równolegle. Każda z nich ma pojemność 32 kilobajtów, dzięki czemu możliwe jest zapamiętanie całego dwunastobitowego słowa danych w jednym takcie zegara. Adresowaniem komórek pamięci oraz generowaniem sygnałów sterujących pracą pamięci zajmuje się układ sterujący. Należy jednak pamiętać, że w tym systemie pomiarowym pierwsza poprawna dana cyfrowa pojawia się dopiero po czwartym impulsie zegarowym, natomiast wpis do pamięci rozpoczyna się już po pierwszym impulsie. Można więc zignorować cztery pierwsze dane odczytane z pamięci przy dalszej analizie pomiaru.
UKŁAD STERUJĄCY
Cały układ sterujący składa się praktycznie z dwóch układów programowalnych typu ispLSI1016E firmy Lattice Semiconductor. Wewnątrz nich znajdują się układy logiczne odpowiedzialne za sterowanie pracą karty oraz komunikację z systemem EURO. Dodatkowo w skład układu sterującego wchodzi prosty układ sygnalizacji pracy przetwornika, tranzystor wymuszający sygnał przerwania na magistrali EURO oraz scalony generator częstotliwości wzorcowej 50 MHz.. W pierwszym z układów zastosowany jest między innymi dekoder adresu. Umożliwia on prawidłowe odwoływanie się do karty oraz do jej wewnętrznych funkcji. Jak wiadomo sterownik EURO komunikuje się z kartą za pomocą ośmiobitowej magistrali adresowej, ośmiobitowej magistrali danych oraz sygnałów odczytu i zapisu. Jeżeli karta zostanie zaadresowana, czyli cztery starsze bity adresu EURO są zgodne z adresem karty, możliwa jest prawidłowa komunikacja między kartą a sterownikiem EURO. Natomiast cztery młodsze bity określają wewnętrzne funkcje (adresy) karty. Przyporządkowanie wewnętrznych adresów zastawione jest w poniższej tabeli:
Tabela 1. Funkcje wewnętrznych adresów karty A/C
Adres |
Funkcja odczytu |
Funkcja zapisu |
0 |
Bajt identyfikacji |
Bajt kontrolny |
1 |
Bit przerwania |
Bajt sterujący |
2 |
Młodsza część słowa danych (8 bitów) |
|
3 |
Starsza część słowa danych (4 bity) |
|
4 |
Odczyt bajtu kontrolnego |
|
Funkcje odczytu umożliwiają pobranie danych z odpowiedniego adresu karty. Bajt identyfikacji jest numerem jakim karta się przedstawia w systemie EURO. Umożliwia on sprawdzenie czy karta jest podłączona czy też nie. Pod adresem nr 1 znajduje się bit sygnalizacji przerwania, który informuje nas czy przerwanie jest aktualnie obsługiwane lub nie obsługiwane. W kolejnych dwóch adresach układ sterujący zapisuje przetworzone dane. Funkcja spod adresu czwartego umożliwia odczyt bajtu kontrolnego.
Funkcje zapisu pozwalają na ustawienie wszystkich parametrów obsługi karty. Odbywa się to przez włączenie lub wyłączenie odpowiednich bitów bajtu kontrolnego oraz bajtu sterującego. Zawartości obu tych bajtów są omówione w dalszej części rozdziału.
Poza dekoderem adresu w pierwszym z układów programowalnych znajduje się generator sygnału zegarowego, w skład którego wchodzi dwudziestobitowy licznik binarny LICZ oraz multiplekser MUX20T1. Sygnały wejściowe oraz wyjściowe obu tych bloków przedstawione są na poniższym schemacie:
Rys. 2. Sygnały licznika LICZ oraz multipleksera MUX20T1
Sygnał z generatora zegarowego o częstotliwości 50 MHz jest dzielony w kolejnych stopniach licznika przez dwa, co daje coraz mniejszą częstotliwość na kolejnych wyjściach. Multiplekser pozwala skierować sygnał z jednego z dwudziestu wyjść licznika na wyjście OUTCLK. Daje to dwadzieścia różnych częstotliwości, z jakimi może zachodzić próbkowanie w przetworniku analogowo-cyfrowym. Wyboru odpowiedniej częstotliwości dokonuje się przez ustawienie odpowiednich bitów w bajcie sterującym, zgodnie z tabelą 2. Dodatkowo każdy wpis do rejestru sterującego powoduje wyzerowanie licznika.
Dzięki włączeniu odpowiednich bitów w bajcie sterującym możliwe jest ustalenie:
- odpowiedniej częstotliwości pracy generatora zegarowego;
- impedancji wejściowej karty;
- typu wejścia (AC lub DC).
Opis funkcji poszczególnych bitów bajtu sterującego zawiera poniższa tabela:
Tabela 2. Opis funkcji poszczególnych bitów w bajcie sterującym
Bit |
Funkcja |
Wartość |
|
|
|
„1” |
„0” |
B0 |
Wybór częstotliwości próbkowania (patrz tabela nr 3) |
||
B1 |
|
||
B2 |
|
||
B3 |
|
||
B4 |
|
||
B5 |
Impedancja wejściowa karty |
1 M |
50 |
B6 |
Typ wejścia |
AC |
DC |
B7 |
Nie jest wykorzystany |
|
|
Tabela 3. Częstotliwości próbkowania
B4 |
B3 |
B3 |
B1 |
B0 |
Częstotliwość |
0 |
0 |
0 |
0 |
0 |
25 MHz |
0 |
0 |
0 |
0 |
1 |
12,5 MHz |
0 |
0 |
0 |
1 |
0 |
6,25 MHz |
0 |
0 |
0 |
1 |
1 |
3,125 MHz |
0 |
0 |
1 |
0 |
0 |
1,5625MHz |
0 |
0 |
1 |
0 |
1 |
781,25 kHz |
0 |
0 |
1 |
1 |
0 |
390,625 kHz |
0 |
0 |
1 |
1 |
1 |
195,3125 kHz |
0 |
1 |
0 |
0 |
0 |
97,6562 kHz |
0 |
1 |
0 |
0 |
1 |
48,8281 kHz |
0 |
1 |
0 |
1 |
0 |
24,4140 kHz |
0 |
1 |
0 |
1 |
1 |
12,207 kHz |
0 |
1 |
1 |
0 |
0 |
6,1035 kHz |
0 |
1 |
1 |
0 |
1 |
3,0517 kHz |
0 |
1 |
1 |
1 |
0 |
1,5258 kHz |
0 |
1 |
1 |
1 |
1 |
762,9394 Hz |
1 |
0 |
0 |
0 |
0 |
381,4697 Hz |
1 |
0 |
0 |
0 |
1 |
190,7348 Hz |
1 |
0 |
0 |
1 |
0 |
95,3674 Hz |
1 |
0 |
0 |
1 |
1 |
47,6837 Hz |
Podstawowym zadaniem drugiego układu programowalnego jest kluczowanie impulsów z generatora zegarowego oraz adresowanie pamięci podczas zbierania i w trakcie odczytu danych. Dodatkowo układ steruje wyborem zakresu pomiarowego oraz może generować sygnał przerwania IRQ (o ile funkcja ta jest aktywna). Sterowanie pracą tego układu odbywa się poprzez ustawienie odpowiednich bitów w słowie kontrolnym. Znaczenie poszczególnych bitów przedstawia poniższa tabela:
Tabela 4. Opis funkcji poszczególnych bitów w słowie kontrolnym
Bit |
Funkcja |
Wartość |
|
|
|
„1” |
„0” |
B0 |
Zezwolenie na start pomiaru |
Tak |
Nie |
B1 |
Tryb pracy |
Seria 32768 próbek |
Pojedynczy pomiar |
B2 |
Przerwanie |
Aktywne |
Nieaktywne |
B3 |
Wyzwalanie (TRIGGER) |
Aktywne |
Nieaktywne |
B4 |
Zbocze wyzwalające |
Dodatnie |
Ujemne |
B5 |
Zakres napięć wejściowych |
1 V |
2 V |
Ustawienie bitu B0 powoduje rozpoczęcie procesu przetwarzania. Bit ten jest włączany dopiero po wcześniejszym ustaleniu wszystkich parametrów przetwarzania. Bit B1 umożliwia wybór trybu pracy. W trybie serii 32768 próbek przetworzone dane są automatycznie wpisywane do pamięci karty. Natomiast w trybie pojedynczego pomiaru dane te są wysyłane od razu na magistralę EURO. Bit B3 umożliwia ustalenie czy zgłoszenie przerwania ma być uwzględniane i obsługiwane, czy też ignorowane. W obecnej postaci system EURO nie obsługuje przerwań, dlatego też opcja ta nie jest brana pod uwagę w pracy (w programie do obsługi karty), aby nie wprowadzać zbędnego chaosu dla przyszłego użytkownika, który z tego programu będzie korzystał. Jeżeli bit B3 ma wartość zero to wyzwalanie nie jest aktywne i ustawienie bitu B0 powoduje rozpoczęcie procesu przetwarzania. W przypadku gdy bit B3 ma wartość „1” (wyzwalanie aktywne), karta czeka nie tylko na ustawienie bitu B0 na „1” ale również na moment, w którym napięcie podawane na wejście karty przejdzie przez zero. Dodatkowo bit B4 umożliwia określenie czy ma to być przejście przez zero od ujemnych wartości do dodatnich, czy też odwrotnie. Opcja ta nie jest jednak dokładnie opracowana, ponieważ program do obsługi karty nie ma możliwości określenia momentu, w którym karta rozpoznała przejście przez zero i zaczęła przetwarzać sygnał wejściowy. A co za tym idzie nie można określić kiedy karta skończyła przetwarzać dane i jest możliwe ich odczytanie z pamięci. Ostatni z bitów słowa kontrolnego określa nam zakres napięć wejściowych: 1 V lub 2 V.
Z powyższego opisu wynika, że karta może pracować w dwóch trybach przetwarzania: pojedynczego pomiaru lub serii 32768 próbek. W drugim z tych trybów nie jest oczywiście obowiązkowe czekanie aż karta przetworzy kilkadziesiąt tysięcy próbek. Dane w tym przypadku będą zapisywane automatycznie do pamięci karty.
Opracowany w ramach pracy program do obsługi omawianej karty uwzględnia wszystkie aspekty wynikające z pracy układu. W następnym rozdziale jest omówiona praca programu widziana zarówno z punktu widzenia użytkownika jak i z punktu widzenia programisty.
Pomiar wartości skutecznej przebiegów odkształconych napięcia i prądu.
Wartość skuteczną ( rms ) dowolnego przebiegu okresowego f(x) wyznacza się z zależności :
W pewnych szczególnych przypadkach wartość skuteczną napięcia lub prądu można wyznaczyć na podstawie pomiaru wartości średniej i szczytowej przebiegów.
1 - Przebieg sinusoidalny ze składową stałą.
Napięcie szczytowe ( maksymalne ) wynosi
, napięcie średnie
.
Wartość napięcia skutecznego można wyliczyć z zależności :
.
2 - Przebieg prostokątny.
Wartość napięcia skutecznego można obliczyć z zależności :
,
całkując, otrzymamy zależność :
.
W przypadku szczególnym, kiedy współczynnik wypełnienia jest równy 1/2, (czyli t0 = T / 2 ) zależność upraszcza się do postaci :
.
3 - Przebieg trójkątny.
W tym przypadku wartość skuteczną napięcia obliczamy z zależności :
.
Po scałkowaniu otrzymamy :
.
Zadania do wykonania :
1 - oblicz wartość średnią i skuteczną przebiegu sinusoidalnego ze składową stałą,
2 - oblicz wartość średnią i skuteczną przebiegów prostokątnych o różnych
współczynnikach wypełnienia,
3 - oblicz wartość średnią i skuteczną przebiegu trójkątnego ze składową stałą.
Uwaga - w celu wyznaczenia wartości średniej i maksymalnej korzystaj z programu
Origin.
GRAFICZNY INTERFEJS PRZETWORNIKA A/C
ZREALIZOWANY W ŚRODOWISKU LABVIEW
OBSŁUGA PROGRAMU Z POZIOMU UŻYTKOWNIKA
Program do obsługi karty A/C powinien być uruchomiony po załadowaniu procedury _start.vi. Z tego poziomu, po włączeniu programu, pojawi się aktywne okno wyboru portu:
Rys. 3. Panel wyboru portu - adres.vi
W oknie tym możemy wybrać numer portu, za pomocą którego karta sterownika sytemu - EURODRIVER komunikuje się z komputerem. W okienku „Numer portu” mamy do wyboru jedną z dwóch dostępnych opcji: 1 lub 2. Następnie należy wcisnąć klawisz „AKCEPTUJ”. W tym momencie następuje próba komunikacji z EURODRIVEREM oraz z kartą przetwornika A/C.
Jeśli program nie wykryje karty EURODRIVERA powiadomi użytkownika stosownym komunikatem:
Rys. 4. Komunikat - brak współpracy z EURODRIVEREM
Z praktyki można wywnioskować, że najczęstszym źródłem takiego komunikatu jest wyłączona lub uszkodzona kaseta EURO. Jeśli program znajdzie kartę EURODRIVERA w systemie, próbuje nawiązać połączenie z kartą A/C. Gdy jej nie ma, pojawi się podobny komunikat, tyle że informujący użytkownika o braku karty: „Brak współpracy z kartą”.
Jeżeli wszystkie kroki będą pomyślnie zakończone, okno z wyborem portu zniknie
i zostanie uaktywnione okno „_start”:
Rys. 5. Wybór opcji pracy karty
Panel „_start” jest główną procedurą, która ma bezpośredni wpływ na pracę karty.
W górnej części oprócz nagłówka znajdują się trzy wartości:
Numer identyfikatora EURODRIVERA - jest to wartość odczytana z kasety EURO;
Numer identyfikatora karty - wartość ta nie jest odczytywana programowo, tylko jest wpisana do programu na stałe;
Adres karty - w tym polu wpisany jest adres karty, który program znalazł na podstawie numeru identyfikatora karty.
Wartości tych trzech pól nie mogą być zmieniane przez użytkownika. Dzięki wprowadzeniu do programu stałej wartości numeru identyfikatora karty możliwe jest wykrycie jej w systemie EURO oraz automatyczne odczytanie jej adresu.
Poniżej tych trzech pół znajduje się obszar, w którym mamy do wyboru jeden z dwóch trybów pracy karty:
Pojedynczy pomiar;
Seria pomiarów.
Aby przejść do następnego pulpitu, odpowiadającego wcześniej wybranej opcji, należy wcisnąć klawisz „DALEJ”. Jeżeli natomiast chcemy zakończyć program należy wcisnąć klawisz „WYJŚCIE”.
POJEDYNCZY POMIAR
Poniżej przedstawiony jest panel, który pojawia się na ekranie po wybraniu opcji: „Pojedynczy pomiar”:
Rys. 6. Panel obsługujący kartę w trybie „Pojedyńczy pomiar”
W trybie pojedynczego pomiaru użytkownik ma możliwość natychmiastowego odczytu przetworzonych danych. Jest to możliwe wtedy, gdy szybkość transmisji między kasetą EURO a komputerem jest większa niż szybkość przetwarzania kolejnych próbek.
W dolnej części ekranu użytkownik może ustalić parametry pracy karty:
Typ wejścia - określa czy sygnał na wejściu jest zmienny czy stały;
Impedancja wejściowa - wybór 1M lub 50;
Zakres napięć - możemy pracować w zakresie od -1V do 1V lub od
-2V do 2V;
Wyzwalanie (TRIGGER) - określa nam czy pomiar ma być inicjowany poprzez badanie zbocza sygnału, czy bez jego analizy; jeśli opcja ta wskazuje na wyzwalanie nieaktywne, to następny parametr: „Zbocze wyzwalające” jest wygaszone i nie jest dostępne dla użytkownika;
Zbocze wyzwalające - przy ustaleniu, że wyzwalanie jest aktywne opcja ta jest dostępna i umożliwia użytkownikowi określenie czy pomiar ma zaczynać się w momencie przejścia sygnału z „minusa” na „plus”, czy odwrotnie.
W górnej części panelu możemy w polu „Ustaw offset” określić offset (przesunięcie), który podawany jest w woltach. Dzięki temu możliwe jest uwzględnienie przesunięcia sygnału względem zera. Pod tym polem znajduje się obszar „Wartość mierzona”, gdzie podczas pomiaru pojawiają się kolejne zmierzone wartości. W ramce „Częstotliwość próbkowania” możemy wybrać jedną z dostępnych częstotliwości (patrz: tabela nr 3 - Częstotliwości próbkowania). Wybór konkretnej wartości może odbywać się poprzez wciskanie małych strzałek umieszczonych obok, lub też „klikając” myszką na pole z wyborem częstotliwości. Pojawi się wtedy pełna lista dostępnych pozycji:
Rys. 7. Wybór częstotliwości próbkowania.
Obok pola z wyborem częstotliwości znajduję się ramka: „Ilość próbek”. Określa ona ile próbek ma być w jednym cyklu pomiarowym odczytanych z karty.
Poniżej ramek określających częstotliwość oraz ilość próbek przedstawiony jest klawisz: „Kalibracja”. Jeśli jest on wyłączony (dioda LED nie pali się - jest czarna) to pole: „Wartość średnia cyklu pomiarowego” oraz klawisz: „Ustaw jako offset” są wygaszone
i użytkownik nie ma do nich dostępu. Natomiast gdy kalibracja jest włączona (zielona dioda), to obie pozycje są aktywne. W polu „Wartość średnia cyklu pomiarowego” program wpisuje wartość średniej arytmetycznej, jaką wyliczył na podstawie zebranych danych z jednego cyklu pomiarowego, która obejmuje tyle danych, ile jest określone w polu „Ilość próbek”. Użytkownik może wtedy „przepisać” tą wartość do omawianego wcześniej pola „Ustaw offset” wciskając klawisz „Ustaw jako offset”.
Cykl pomiarowy aktywuje się gdy użytkownik wciśnie klawisz „Pomiar”. Następuje wtedy, na czas procesu odczytu danych z karty, wygaszenie klawiszy: „Pomiar” oraz „Wyjście” a w ich miejsce pojawia się napis „Licznik próbek”, który informuje ile próbek zostało już odczytanych z karty.
Jeśli użytkownik chce wrócić do panelu wyboru opcji pracy karty (pojedynczy pomiar lub seria pomiarowa), musi wcisnąć klawisz „Wyjście”.
Dane zebrane podczas pomiaru mogą być zapisane na dyskietce lub twardym dysku. Ramka, dzięki której jest to możliwe znajduje się w prawej części panelu i wygląda następująco:
Rys. 8. Fragment panelu obsługi trybu „Pojedynczy pomiar” dotyczący zapisu danych
Użytkownik może tu wpisać własną ścieżkę dostępu oraz nazwę pliku, w którym będą zapisane dane. Po wciśnięciu klawisza: „Zapisz dane” nastąpi zapis danych do pliku
o wskazanej uprzednio nazwie.
W centralnej części panelu znajduje się ostatni z omawianych elementów: klawisz „Wykres”. Umożliwia on podgląd odczytanych danych na prostym wykresie:
Rys. 9. Panel obsługujący kartę w trybie „Pojedynczy pomiar” - widok z wykresem
Dzięki temu możliwe jest sprawdzenie kształtu sygnału podawanego na wejście karty w funkcji ilości próbek. Po wciśnięciu tego klawisza zmieni on nazwę z „Wykres” na „Parametry”. Jednocześnie na panelu w dolnej jego części zamiast parametrów widoczny będzie wykres. Aby powrócić do poprzedniego widoku ponownie wciskamy klawisz , który teraz ma już nazwę „Parametry”.
SERIA POMIARÓW
Poniżej przedstawiony jest panel, który pojawia się na ekranie po wybraniu opcji: „Seria pomiarów”:
Rys. 10. Panel obsługujący kartę w trybie „seria 32768 próbek”
Praca karty w tym trybie umożliwia przetwarzanie sygnału z częstotliwościami próbkowania, które uniemożliwiają natychmiastowe przesłanie danych do komputera. Dane te są najpierw gromadzone w pamięci karty i dopiero później odbywa się ich odczyt. Działanie tego trybu widzianego od strony użytkownika praktycznie nie różni się od trybu „Pojedynczy pomiar”. Jedyną różnicą jaką widać jest sposób reprezentacji danych na wykresie. W tym przypadku przebieg sygnału jest w funkcji czasu, natomiast w poprzednim możliwe jest tylko pokazanie przebiegu w funkcji ilości próbek. Cały mechanizm pracy karty różni się całkowicie dla obu trybów. Dokładnie omówione to jest w następnym podrozdziale poświęconym głównie algorytmom działania poszczególnych bloków programu.