EP 2005_06.pdf

(38115 KB) Pobierz
450757167 UNPDF
450757167.019.png
Wielokanałowy generator sygnałów programowalnych
Wielokanałowy generator
sygnałów programowalnych,
część 1
AVT-456
Zasilacz, oscyloskop, generator
– oto podstawowe wyposażenie
warsztatu elektronika. Tym
razem prezentujemy interesujący
projekt programowanego
generatora. Dzięki zastosowaniu
procesora sygnałowego autorzy
uzyskali dobre parametry
użytkowe.
Rekomendacje:
ten projekt należy do grupy
takich urządzeń, które każdy
elektronik chce mieć. I w tym
przypadku owa chęć jest mocno
uzasadniona funkcjonalnością
przyrządu. A dodatkowo dochodzi
przyjemność wykonania układu
na nowoczesnym układzie
– procesorze DSP.
Konstruowanie urządzeń elektro-
nicznych zawsze składa się z kilku
etapów. Poprzez ideę, założenia, re-
alizację schematu i wzorów płytek
drukowanych, buduje się prototyp.
Niezależnie od funkcji pełnionych
przez urządzenie konieczne jest zba-
danie, czy wynik pracy konstrukto-
ra jest zgodny z wcześniej przyjęty-
mi założeniami. Gdy urządzenie nie
spełnia przyjętych wymogów, wpro-
wadzane są do projektu poprawki.
Dopiero po testach i próbach zakoń-
czonych sukcesem, urządzenie może
trafić do seryjnej produkcji. Należy
dodać, że na końcu etapu produk-
cyjnego gotowy wyrób jest również
testowany. Filtr, wzmacniacz czy
element regulacji posiadają cechy,
które można poznać na podstawie
odpowiedzi układu na zadany sy-
gnał. Na przykład wzmacniacz cha-
rakteryzuje się określonym pasmem
przenoszenia, wzmocnieniem, prze-
sunięciem fazy, zniekształceniami,
szumem. Na podstawie odpowiedzi
układu sterowania możemy określić
np. rodzaj regulatora lub nawet wy-
znaczyć jego transmitancję. Do pod-
łączenia sygnału na wejście badane-
go obiektu niezbędny jest generator
sygnału wzorcowego. W niniejszym
artykule, zostanie przedstawiony
generator przebiegów programowal-
nych o bardzo małych zniekształce-
niach.
Informacje podstawowe
Schemat blokowy prezentowanego
generatora jest pokazany na rys. 1 .
Generator ma 6 wyjść. Przebiegi na
każdym z nich mogą być definiowa-
ne odrębnie i są pod tym względem
od siebie niezależne. Wspólna dla
wszystkich sześciu wyjść jest tylko
częstotliwość podstawowa.
Przy pracy nad prezentowa-
nym generatorem przyjęto w zało-
żeniach, że maksymalna generowa-
na częstotliwość powinna wynosić
1 kHz przy 1000 próbek na okres.
Główny nacisk został położony na
poziom zniekształceń sygnału, co
zostało w pełni zrealizowane. Dla
1 kHz i 1000 próbek/okres poziom
zniekształceń S/N (sygnał/szum) dla
sygnału sinusoidalnego wyniósł za-
ledwie –67 dB (0,04%), co zostało
przedstawione na rys. 2 . Dostępne
są jednak znacznie wyższe częstotli-
wości przy mniejszej liczbie próbek
na okres, sięgające dla sygnału sinu-
soidalnego nawet kilkunastu kHz.
Jak widać ze schematu blokowe-
go, generator składa się z aplikacji
na komputer PC oraz urządzenia,
którego sercem jest procesor sygna-
łowy ADSP-2181 firmy Analog De-
PODSTAWOWE PARAMETRY
Dwie płytki drukowane:
ADC 118 x 69 mm
DSP 118 x 69 mm
Zasilanie sieciowe
6 niezależnych wyjść (wspólna jest częstotliwość
podstawowa wszystkich przebiegów)
Maksymalna częstotliwość wyjściowa 1 kHz
(1000 próbek na okres)
Generacja przebiegu o programowanym kształcie
Sterowanie generatora z poziomu aplikacji na PC
Interfejs RS232C do komputera PC (DB9)
10
Elektronika Praktyczna 6/2005
P R O J E K T Y
450757167.020.png 450757167.021.png 450757167.022.png 450757167.001.png 450757167.002.png 450757167.003.png
Wielokanałowy generator sygnałów programowalnych
Rys. 1. Schemat blokowy sześciokanałowego generatora funkcyjnego zbudo-
wanego w oparciu o procesor ADSP2181
Podstawowe dane dotyczące układu
MAX547:
• 8 kompletnych 13-bitowych prze-
tworników C/A;
• 8 przetworników C/A w jednym
układzie scalonym;
• Nie wymaga zewnętrznej regulacji;
• Buforowane wyjścia napięciowe;
• Kalibrowana liniowość przetwa-
rzania;
• Gwarantowana monotoniczność
do 13 bitów;
• Napięcie zasilania ±5 V;
• Unipolarne lub bipolarne wyjścia
o wydajności napięciowej ±4,5 V;
• Szybkość ustalania się wartości
na wyjściu 5 µs z dokładnością
1/2 LSB;
• Podwójnie buforowane wejścia
cyfrowe;
• Asynchroniczne buforowanie za-
trzasków wejściowych oraz za-
trzasków par przetworników C/A;
• Asynchroniczne zerowanie wejść
przetworników C/A do wartości
masy analogowej;
• Automatyczne zerowanie wejść
przetworników C/A do wartości
masy analogowej po zasileniu
układu;
• Kompatybilność z mikroprocesora-
mi oraz układami w technologii
TTL/CMOS.
Przetwornik ten cechuje podwój-
nie buforowany interfejs logiczny
z 13-bitową równoległą magistralą da-
nych. Każdy przetwornik C/A posia-
da zatrzask wejściowy oraz zatrzask
przetwornika. Dane z zatrzasku prze-
twornika C/A ustawiają napięcie na
wyjściu przetwornika. Osiem zatrza-
sków wejściowych jest adresowanych
przez trzy linie adresowe. Dane są
ładowane do zatrzasków wejściowych
pojedynczą instrukcją zapisu. Infor-
macje z zatrzasków wejściowych do
zatrzasków przetworników są prze-
syłane asynchronicznie, za pomocą
sygnałów na wejściach LDx , stanem
aktywny m n iskim. Układ ma cztery
wejścia LDx , każde kontroluje dwa
przetworniki C/A, a wszystkie zatrza-
ski przetworników można ładować
jednocześnie prz ez zwarcie wszyst-
kich wejść LDx . Zerowanie wyjść
wszystkich ośmiu przetworników
do wartości masy analogowej odby-
wa się asynchronicznie za pomocą
wym uszen ia stanu nisk iego na wej-
ściu CLR . Sygnał CLR ustawia tak-
że wartość 1000 hex na zatrzaskach
wejściowych. Po zasileniu układu,
uruchamiana jest procedura, o funk-
cji i dentycznej jak działanie sygnału
CLR . Przedstawiony przetwornik ma
Rys. 2. Wykres przedstawiający stosunek sygnał-szum w dB w funkcji częstotli-
wości, dla różnej liczby próbek
vices współpracujący z przetworni-
kiem cyfrowo-analogowym MAX547.
Do komunikacji pomiędzy częścią
sprzętową i aplikacją został wyko-
rzystany popularny interfejs RS232.
RAM ma pojemność 80 kB i w sto-
sunku do mikrokontrolerów, dla
których 1 kB to już zawrotna wiel-
kość, jest ogromna. Podzielona jest
ona na części po 16 kilosłów dla
programu i dla danych, przy czym
dane mają długość 16 bitów, a in-
strukcje kodowane są na 24 bitach.
Procesory DSP posiadają jednost-
kę wspomagającą operacje mnoże-
nia i jest to tzw. MAC ( Multiply
ACcumulate module ). Pomimo, że
ADSP-2181 jest szesnastobitowy, to
rezultat mnożenia zapisywany jest
w rejestrze czterdziestobitowym. Ko-
lejną cechą omawianego układu jest
możliwość wykonywania niektórych
instrukcji równolegle. Pamięć ze-
wnętrzna i przestrzeń I/O mają od-
dzielne sygnały sterujące. Możliwe
jest zaadresowanie 2048 urządzeń
zewnętrznych i 4 MB zewnętrznej
pamięci RAM lub ROM. Omawiany
procesor wyposażony jest również
w port DMA, dzięki któremu urzą-
dzenia zewnętrzne mają dostęp do
wewnętrznej pamięci RAM, którą
mogą modyfikować.
Procesor sygnałowy ADSP-2181
Obszar zastosowań szesnastobi-
towego procesora ADSP-2181 firmy
Analog Devices to głównie cyfrowe
przetwarzanie sygnałów (np. filtry
cyfrowe, analiza Fouriera). Trud-
no ten typ procesora opisać w kil-
ku zdaniach, jednak na próżno
szukać w jego strukturze elemen-
tów charakterystycznych dla mi-
krokontrolerów tzn. komparatorów,
pamięci EPROM lub Flash, prze-
tworników A/C itp. Nie posiada
on nawet standardowego interfejsu
UART. W prezentowanym projekcie
jest on emulowany za pomocą flag:
wejściowej i wyjściowej. Ma on za
to inne właściwości, niedostęp-
ne w mikrokontrolerach. Należy do
nich bardzo duża moc obliczenio-
wa, która w przypadku ADSP-2181
wynosi 40 MIPS (milionów in-
strukcji na sekundę) przy częstotli-
wości kwarcu 20 MHz. Naturalnie
wszystkie instrukcje realizowane są
w jednym cyklu zegarowym. Pro-
gram wykonywany jest z wewnętrz-
nej pamięci RAM, do której jest
on ładowany z zewnętrznej pamię-
ci stałej po sygnale reset. Pamięć
Przetwornik cyfrowo-analogowy
MAX547
Schemat blokowy przetworni-
ka pokazany jest na rys. 3 . Układ
MAX547 jest ośmiokanałowym prze-
twornikiem C/A o rozdzielczości 13-
-bitów z równoległym interfejsem.
Elektronika Praktyczna 6/2005
11
450757167.004.png 450757167.005.png 450757167.006.png 450757167.007.png 450757167.008.png 450757167.009.png
Wielokanałowy generator sygnałów programowalnych
Rys. 3. Schemat funkcjonalny układu MAX547
bardzo małe glitche , co jest jego
bardzo istotną zaletą, gdyż wpływa
na zmniejszenie zniekształceń prze-
twarzanego sygnału. Glitch jest to
nic innego jak szpilka, przeważnie
o znacznej amplitudzie, pojawiająca
się w sygnale wyjściowym. Powsta-
je ona wskutek przełączania kluczy
tranzystorowych, zawartych w struk-
turze układu, w momencie przetwa-
rzania wartości binarnej sygnału na
jego reprezentację analogową. Szpil-
ka taka osiąga największą wartość
gdy wszystkie bity kodu binarne-
go zmieniają swoją wartość, np.
0111111111111 –> 1000000000000.
W takim przypadku następuje prze-
łączenie wszystkich kluczy tranzy-
storowych. Każdy tranzystor „za-
myka” i „otwiera” się z różną pręd-
kością, dlatego w stanie pośrednim
wartość kodu jest nieustalona (przy-
padkowa), która następnie jest kon-
wertowana na wartość analogową.
lu wykresu w zakładce „ General
wyświetlane są przebiegi wszystkich
aktywnych kanałów. Należy pamię-
tać, że częstotliwość podstawowa
oraz liczba próbek na okres jest
wspólna dla wszystkich kanałów.
Wykres ma dodatkowe funkcje, któ-
re są dostępne w podręcznym menu
po kliknięciu prawym przyciskiem
myszki na jego polu. Są to między
innymi analiza FFT oraz możliwość
powiększenia lub pomniejszenia wy-
kresu. Dzięki analizie FFT można
obejrzeć amplitudę, fazę, część rze-
czywistą lub urojoną poszczególnych
składowych sygnału. Dostępnych
jest pięć rodzajów okien: prostokąt-
ne, trójkątne, Hanninga, Hamminga
oraz Blackmana. Rozdzielczość ana-
lizy FFT można zmieniać w zakresie
od 128 do 32768 punktów. Dowolny
Aplikacja sterująca
Możliwości generatora najlepiej
jest przedstawić opisując właści-
wości i funkcje aplikacji sterującej
urządzeniem. Na rys. 4 przedstawio-
ne jest okno główne programu z ak-
tywną zakładką „ General ”. Parametry
sygnału jakie można na niej ustawić
to: częstotliwość podstawowa, liczba
próbek na okres i faza sygnału. Do-
datkowo w zakładce „ General ” ustala
się parametry funkcji sweep, czyli
krokowej zmiany częstotliwości. Pola
typu checkbox w grupie „ Active out-
puts ” służą do wybrania kanałów,
których próbki mają zostać przesła-
ne do pamięci procesora DSP. W po-
12
Elektronika Praktyczna 6/2005
450757167.010.png 450757167.011.png 450757167.012.png 450757167.013.png
Wielokanałowy generator sygnałów programowalnych
Rys. 4. Okno główne aplikacji z aktywną zakładką „ General
Rys. 7. Narzędzie służące do de-
finiowania formuły matematycznej
opisującej przebieg
fragment wykresu można również
powiększyć przy użyciu myszki za-
znaczając prostokąt nad interesują-
cym nas obszarem z góry w dół. Za-
znaczenie prostokąta od dołu w górę
powoduje pomniejszenie wykresu.
Kolejne zakładki służą do de-
finiowania parametrów poszczegól-
nych przebiegów. Każda przeznaczo-
na jest dla odpowiedniego kanału.
Ich zawartość jest taka sama, dla-
tego zostanie przedstawiona tylko
jedna z nich „ Output 1 ”.
Przebieg można zdefiniować na
trzy sposoby:
• określając wartości amplitud i faz
poszczególnych harmonicznych
( rys. 5 ),
• podając amplitudę stanu wyso-
kiego i niskiego oraz czas ich
trwania, a także czas narastania
i opadania zboczy ( rys. 6 ),
• podając formułę matematyczną.
Dodatkowo dla pierwszych dwóch
sposobów można podać również
składową stałą (offset). Przełącznik
Form ” na rys. 5 i 6 pozwala dokonać
wyboru sposobu definiowania prze-
biegu. Dla ułatwienia wprowadzania
formuł matematycznych przygotowa-
ne zostało narzędzie „ Equation edit
( rys. 7 ). Aby przyspieszyć pracę przy
wprowadzaniu takich samych usta-
wień dla kilku kanałów, wprowadzo-
no możliwość szybkiego kopiowania
zakładek. Wystarczy przełączyć się
na zakładkę w której chcemy wpro-
wadzić zmiany, a następnie wybrać
kanał z listy rozwijanej i przycisnąć
Copy settings ”. Ustawienia wybra-
nego kanału zostaną skopiowane do
aktualnej zakładki. Aplikacja posiada
również możliwość zapisu do pliku
definicji przebiegów.
Po określeniu właściwości prze-
biegów i przesłaniu próbek do urzą-
dzenia uaktywniony zostaje „ Control
panel ” ( rys. 8 ). Za jego pomocą moż-
liwe jest włączenie bądź wyłączenie
każdego kanału osobno, jak i również
zmiana częstotliwości podstawowej.
Opis urządzenia
Urządzenie ma budowę moduło-
wą, tzn. na osobnej płytce znajdu-
je się procesor wraz z niezbędnymi
elementami i na osobnej przetwor-
nik z układem zasilania.
Bardzo ważnym elementem ge-
neratora jest przetwornik C/A
MAX547 firmy MAXIM oznaczony na
schemacie ( rys. 9 ) jako U8. Zasilany
jest on napięciami symetrycznymi
±5 V, których dostarcza układ stabi-
lizacji napięcia złożony z prostowni-
ka napięcia: D2,
D3, D4 i D5, ze
stabilizatorów
U5 i U6 oraz
kondensato-
rów C19, C20,
C21, C22, C24,
C25, C31, C32.
Zworka JP4 słu-
ży do rozdziele-
nia masy ana-
logowej AGND
i GND podczas
procesu auto
routingu i przy
normalnej ge-
neratora pracy
musi być zwar-
ta. Dioda D7
Rys. 5. Pole pozwalające zdefiniować
właściwości poszczególnych harmo-
nicznych sygnału
Rys. 6. Pole pozwalające zdefiniować
właściwości przebiegu prostokątnego
(trójkątnego)
Rys. 8. Control
panel
Elektronika Praktyczna 6/2005
13
450757167.014.png 450757167.015.png 450757167.016.png 450757167.017.png 450757167.018.png
Zgłoś jeśli naruszono regulamin