WIELOKANAŁOWY GENERATOR CYFROWY Bartosz Jakubski Instytut Informatyki i Elektroniki, Uniwersytet Zielonogórski 65-246 Zielona Góra, ul. Podgórna 50 e-mail: b.jakubski@iie.uz.zgora.pl STRESZCZENIE W artykule zaprezentowano zrealizowany projekt wielokanałowego generatora cyfrowego. Przedstawiono budow, zasad działania i właciwoci urzdzenia na podstawie schematu blokowego. Scharakteryzowano i opisano aplikacj współpracujc z urzdzeniem. W podsumowaniu wskazano dalszy kierunek bada. 1. WPROWADZENIE Konstruowanie urzdze elektronicznych zawsze składa si z kilku etapów. Poprzez ide, załoenia, realizacj schematu i wzorów płytek drukowanych, buduje si prototyp. Niezalenie od funkcji pełnionych przez urzdzenie konieczne jest zbadanie, czy wynik pracy konstruktora zgodny jest z wczeniej przyjtymi załoeniami. Gdy urzdzenie nie spełnia przyjtych wymogów, wprowadzane s do projektu konieczne poprawki. Dopiero po testach i próbach zakoczonych sukcesem urzdzenie moe trafi do seryjnej produkcji. Naley doda, e na kocu etapu produkcyjnego gotowy wyrób jest równie testowany. Filtr, wzmacniacz czy element regulacji posiadaj cechy, które mona pozna na podstawie odpowiedzi układu na zadany sygnał. Na przykład wzmacniacz charakteryzuje si okrelonym pasmem przenoszenia, wzmocnieniem, przesuniciem fazy, zniekształceniami, szumem. Na podstawie odpowiedzi układu sterowania moemy okreli np. rodzaj regulatora lub nawet wyznaczy jego transmitancj. Do zadania sygnału na wejcie badanego obiektu niezbdny jest generator sygnału wzorcowego. W niniejszym artykule, zostanie przedstawiony generator przebiegów programowalnych o bardzo małych zniekształceniach. 2. INFORMACJE PODSTAWOWE Schemat blokowy prezentowanego generatora pokazany jest na rys. 1. Posiada on 6 wyj. Przebiegi dla kadego z nich mog by definiowane odrbnie i s one pod tym wzgldem od siebie niezalene. Wspólna dla wszystkich szeciu wyj jest tylko czstotliwo podstawowa. 193
Przy pracy nad prezentowanym generatorem przyjto w załoeniach, e maksymalna generowana czstotliwo powinna wynosi 1kHz przy 1000 próbek na okres. Główny nacisk został połoony na poziom zniekształce sygnału, co zostało w pełni zrealizowane. Dla 1kHz i 1000 próbek/okres poziom zniekształce S/N (sygnał/szum) dla sygnału sinusoidalnego wyniósł zaledwie 67dB (0,04%), co zostało przedstawione na wykresie 1. Dostpne s jednak znacznie wiksze czstotliwoci przy mniejszej iloci próbek na okres, sigajce dla sygnału sinusoidalnego nawet kilkunastu khz. Rys. 1. Schemat blokowy szeciokanałowego generatora funkcyjnego zbudowanego w oparciu o procesor ADSP2181 Jak wida ze schematu blokowego, generator składa si z aplikacji na komputer PC oraz urzdzenia, którego sercem jest procesor sygnałowy ADSP-2181 firmy Analog Devices współpracujcy z przetwornikiem cyfrowo-analogowym MAX547. Do komunikacji pomidzy czci sprztow i aplikacj został wykorzystany popularny interfejs RS232. Stosunek sygnał-szum [db] 0-10 -20-30 -40-50 -60-70 -80 Stosunek sygnał-szum [db] f [Hz] 0 200 400 600 800 1000 100 róbek 1000 próbek Wykr. 1. Wykres przedstawiajcy stosunek sygnał-szum w db w funkcji czstotliwoci, dla rónej liczby próbek 194
3. PROCESOR SYGNAŁOWY ADSP-2181 Obszar zastosowa szesnastobitowego procesora ADSP-2181 firmy Analog Devices to głównie cyfrowe przetwarzanie sygnałów (np. filtry cyfrowe, analiza Fourier a). Trudno ten typ procesora opisa w kilku zdaniach, jednak na próno szuka w jego strukturze elementów charakterystycznych dla mikrokontrolerów tzn. komparatorów, pamici EPROM lub Flash, przetworników A/C itp. Nie posiada on nawet standardowego interfejsu UART. W prezentowanym projekcie jest on emulowany za pomoc flag wejciowej i wyjciowej. Posiada on inne właciwoci, niedostpne w mikrokontrolerach. Naley do nich bardzo dua moc obliczeniowa, która w przypadku ADSP-2181 wynosi 40MIPS (milionów instrukcji na sekund) przy czstotliwoci kwarcu 20MHz. Naturalnie wszystkie instrukcje realizowane s w jednym cyklu zegarowym. Program wykonywany jest z wewntrznej pamici RAM, do której jest on ładowany z zewntrznej pamici stałej po sygnale reset. Pami RAM ma pojemno 80kB i w stosunku do mikrokontrolerów jest ogromna, dla których 1kB to ju zawrotna ilo. Podzielona jest ona po 16 kilosłów dla programu i dla danych, przy czym dane maj długo 16 bitów, a instrukcje kodowane s na 24 bitach. Procesory DSP posiadaj jednostk wspomagajc operacje mnoenia i jest to tzw. MAC (Multiply ACcumulate module). Pomimo e ADSP-2181 jest szesnastobitowy, to rezultat mnoenia zapisywany jest w rejestrze czterdziestobitowym. Kolejn cech omawianego układu jest moliwo wykonywania niektórych instrukcji równolegle. Pami zewntrzna i przestrze I/O maj oddzielne sygnały sterujce. Moliwe jest zaadresowanie 2048 urzdze zewntrznych i 4MB zewntrznej pamici RAM lub ROM. Omawiany procesor wyposaony jest równie w port DMA, dziki któremu urzdzenia zewntrzne maj dostp do wewntrznej pamici RAM, któr mog modyfikowa. 4. PRZETWORNIK CYFROWO-ANALOGOWY MAX547 Schemat blokowy przetwornika pokazany jest na rys. 2. Układ MAX547 jest omiokanałowym przetwornikiem C/A o rozdzielczoci 13-bitów z równoległym interfejsem. Podstawowe dane dotyczce układu MAX547: Pełne 13-bitowe przetworniki C/A; 8 przetworników C/A w jednym układzie scalonym; Nie wymaga zewntrznej regulacji; Buforowane wyjcia napiciowe; Kalibrowana liniowo przetwarzania; Gwarantowana monotoniczno do 13 bitów; Napicie zasilania ±5V; Unipolarne lub bipolarne wyjcia o wydajnoci napiciowej ±4.5V; Szybko ustalania si wartoci na wyjciu 5µs z dokładnoci 1/2LSB; 195
Podwójnie buforowane wejcia cyfrowe; Asynchroniczne buforowanie zatrzasków wejciowych oraz zatrzasków par przetworników C/A; Asynchroniczne zerowanie wej przetworników C/A do wartoci masy analogowej; Automatyczne zerowanie wej przetworników C/A do wartoci masy analogowej po zasileniu układu; Kompatybilno z mikroprocesorami oraz układami w technologii TTL/CMOS. Przetwornik ten cechuje podwójnie buforowany interfejs logiczny z 13-bitow równoległ magistral danych. Kady przetwornik C/A posiada zatrzask wejciowy oraz zatrzask przetwornika. Dane z zatrzasku przetwornika C/A ustawiaj napicie na wyjciu przetwornika. Osiem zatrzasków wejciowych jest adresowanych przez trzy linie adresowe. Dane s ładowane do zatrzasków wejciowych pojedyncz instrukcj zapisu. Informacje z zatrzasków wejciowych do zatrzasków przetworników s przesyłane asynchronicznie, za pomoc sygnałów na wejciach LDx, stanem aktywnym niskim. Układ posiada cztery wejcia LDx, kade kontroluje dwa przetworniki C/A, a wszystkie zatrzaski przetworników mona ładowa jednoczenie przez zwarcie wszystkich wej LDx. Zerowanie wyj wszystkich omiu przetworników do wartoci masy analogowej odbywa si asynchronicznie za pomoc wymuszenia stanu niskiego na wejciu CLR. Sygnał CLR ustawia take warto 1000hex na zatrzaskach wejciowych. Po zasileniu układu, uruchamiana jest procedura, o funkcji identycznej jak działanie sygnału CLR. Przedstawiony przetwornik posiada bardzo małe glitch e, co jest jego bardzo istotn zalet, gdy wpływa na zmniejszenie zniekształce przetwarzanego sygnału. Glitch jest to nic innego jak szpilka, przewanie o znacznej amplitudzie, pojawiajca si w sygnale wyjciowym. Powstaje ona w skutek przełczania kluczy tranzystorowych, zawartych w strukturze układu, w momencie przetwarzania wartoci binarnej sygnału na jego reprezentacj analogow. Szpilka taka osiga najwiksz warto gdy wszystkie bity kodu binarnego zmieniaj swoj warto, np. 0111111111111 -> 1000000000000. W takim przypadku nastpuje przełczenie wszystkich kluczy tranzystorowych. Kady tranzystor zamyka i otwiera si z rón prdkoci, dlatego w stanie porednim warto kodu jest nieustalona (przypadkowa), która nastpnie jest konwertowana na warto analogow. 196
Rys. 2. Schemat funkcjonalny układu MAX547 5. APLIKACJA STERUJCA Moliwoci generatora najlepiej jest przedstawi opisujc właciwoci i funkcje aplikacji sterujcej urzdzeniem. Na rys. 3 przedstawione jest okno główne programu z aktywn zakładk General. Parametry sygnału jakie mona na niej ustawi to: czstotliwo podstawowa, liczba próbek na okres i faza sygnału. Dodatkowo w zakładce General ustala si parametry funkcji sweep, czyli krokowej zmiany czstotliwoci. Pola typu checkbox w grupie Active outputs słu do wybrania kanałów, których próbki maj zosta przesłane do pamici procesora DSP. W polu wykresu w zakładce General wywietlane s przebiegi wszystkich aktywnych kanałów. Naley pamita, e czstotliwo podstawowa oraz liczba próbek na okres jest wspólna dla kanałów. Wykres posiada dodatkowe funkcje, które s dostpne w podrcznym menu po klikniciu prawym przyciskiem myszki na jego polu. S to midzy innymi analiza FFT oraz moliwo powikszenia lub pomniejszenia wykresu. Dziki analizie FFT mona obejrze amplitud, faz, cz rzeczywist lub urojon poszczególnych składowych sygnału. Dostpnych jest pi rodzajów okien: prostoktne, trójktne, Hanning a, 197
Hamming a oraz Blackman a. Rozdzielczo analizy FFT mona zmienia w zakresie od 128 do 32768 punktów. Dowolny fragment wykresu mona równie powikszy przy uyciu myszki zaznaczajc prostokt nad interesujcym nas obszarem z góry w dół. Rys. 3. Okno główne aplikacji z aktywn zakładk General Kolejne zakładki słu do definiowania parametrów poszczególnych przebiegów. Kada przeznaczona jest dla odpowiedniego kanału. Ich zawarto jest taka sama, dlatego zostanie przedstawiona tylko jedna z nich Output 1. Przebieg mona zdefiniowa na trzy sposoby: okrelajc wartoci amplitud i faz poszczególnych harmonicznych (rys. 4a), podajc amplitud stanu wysokiego i niskiego oraz czas ich trwania, narastania i opadania zboczy (rys. 4b), podajc formuł matematyczn (rys. 5). Dodatkowo dla pierwszych dwóch sposobów mona poda równie składow stał (offset). Przełcznik Form na rysunkach 4a i 4b umoliwia dokonania wyboru pomidzy sposobem definiowania przebiegu. Dla ułatwienia wprowadzania formuł matematycznych przygotowane zostało narzdzie Equation edit (rys. 5). Aby przyspieszy prac przy wprowadzaniu takich samych ustawie dla kilku kanałów, wprowadzono moliwo szybkiego kopiowania zakładek. Wystarczy przełczy si na zakładk,w której chcemy wprowadzi zmiany, a nastpnie wybra kanał z listy rozwijanej i przycisn Copy settings. Ustawienia 198
wybranego kanału zostan skopiowane do aktualnej zakładki. Aplikacja posiada równie moliwo zapisu do pliku definicji przebiegów. a) b) Rys. 4. a) Pole pozwalajce zdefiniowa właciwoci poszczególnych harmonicznych sygnału b) Pole pozwalajce zdefiniowa właciwoci przebiegu prostoktnego (trójktnego) Rys. 5. Narzdzie słuce do definiowania formuły matematycznej opisujcej przebieg 199
6. ZAKOCZENIE W artykule przedstawiono projekt modelu generatora programowalnego o bardzo małych zniekształceniach, za pomoc którego mona odtworzy sygnały zdefiniowane trzema sposobami. Projekt jest wstpem do bada nad urzdzeniami odtwarzajcymi parametry rzeczywistej energii elektrycznej z bardzo du dokładnoci. Dalsze badania bd prowadzone pod katem metod stabilizacji generowanych przebiegów, co zwizane jest z dynamik całego układu. LITERATURA [1] B. Jakubski, J. Wiszniewski: Model generatora sygnałów sinusoidalnych, UZ, Zielona Góra, 2003 [2] A. Daniluk: RS 232C Praktyczne programowanie, Helion, Gliwice, 2001 [3] R. G. Lyons: Wprowadzenie do cyfrowego przetwarzania sygnałów, WKŁ, Warszawa, 2000 [4] Using the ADSP-2100 Family, Analog Devices [5] ADSP-21xx Manual, Analog Devices 200