Projekt Generator DDS PDF

Title Projekt Generator DDS
Author Natalia Pernak
Course Elektronika CPS
Institution Politechnika Rzeszowska im. Ignacego Lukasiewicza
Pages 16
File Size 986.5 KB
File Type PDF
Total Downloads 26
Total Views 152

Summary

Download Projekt Generator DDS PDF


Description

Projekt Cyfrowe przetwarzanie sygnałów Temat: Generator funkcyjny DDS

Tomasz Pachołek Edyta Surdyka ET-DU1 2017r

1. Założenia Sprzęt: • • • •

AVR ATMEGA8 Generator funkcyjny: AD9850 DDS Wyświetlacz LCD HD44780 Sterowanie cyfrowe: przyciski

Cele: • • • • • • • •

Otrzymywane sygnały: prostokątny, sinusoidalny Minimalne napięcie zasilania: 9 V DC. Maksymalny prąd obciążenia: 150 mA. Zakres częstotliwości wyjściowych: 10 Hz…40 MHz. Krok regulacji częstotliwości: 1 Hz. Impedancja wyjściowa: 50Ω Wobulacja przebiegu sinusoidalnego Dodatkowe wyjście przebiegu piłokształtnego jako pomocnicze wyjście synchronizujące do oscyloskopu w trakcie wobulacji.

2. Wstęp Wobulator (od ang. wobble - wahać się) – to elektroniczny przyrząd pomiarowy, służący do badania charakterystyk częstotliwościowych filtrów lub innych układów elektronicznych (np. toru p.cz. radioodbiornika). Jest to specjalizowany generator, który wytwarza przebieg o częstotliwości zmieniającej się cyklicznie w zadanym zakresie (powoduje tzw. "przemiatanie" częstotliwości). Odczytu charakterystyki dokonuje się za pomocą oscyloskopu. Wobulator wytwarza dodatkowo przebieg pozwalający synchronizować oscyloskop.

Rysunek 1 Przykładowy przebieg przebiegu sinusoidalnego z wobulacją(niebieski) i jego synchronizacji(żółty)

Generator DDS - do generowania przebiegów wyjściowych używa techniki bezpośredniej syntezy cyfrowej DDS (Direct Digital Synthesis). Jest to dość prosta w założeniach metoda generowania

przebiegów okresowych w sposób całkowicie cyfrowy (w zasadzie bez udziału elementów dyskretnych), która do tego celu wykorzystuje pamięć przechowującą wzorzec przebiegu sinusoidalnego, generator taktujący służący do taktowania licznika adresującego kolejne próbki sygnału oraz przetwornik C/A, który przesyłany ciąg próbek zamienia na analogowy sygnał wyjściowy.

Rysunek 2 Schemat blokowy najprostszego generatora DDS

3. Projekt urządzenia Projekt rozpoczęto od zapoznania się ze schematem blokowym układu generatora AD9850. Aby uprościć całą konstrukcję zastosowano moduł generatora razem z rezonatorem kwarcowym i eliptycznym filtrem wyjściowym

Rysunek 3 Schemat blokowy układu generatora AD9850

Rysunek 4 Słowo cyfrowe sterujące układem AD9850

Rysunek 5Schemat konstruowanego urządzenia

Rysunek 6 Mozaika ścieżek płytki PCB urządzenia

Rysunek 7 Wygląd zmontowanej płyty głównej urządzenia

Rysunek 8 Wygląd zmontowanej płyty głównej urządzenia

Rysunek 9 Wygląd zmontowanej płyty głównej urządzenia

Rysunek 10 Wygląd zmontowanego urządzenia w obudowie

4. Kod programu Poniżej przedstawiono kod programu zawarty w pliku głównym : #include #include #include #include #include #include #include #include #include



"HD44780.h" "AD9850.h" "switch.h" "funkcje.h" "pwm.h" "adc.h"

volatile uint8_t flaga0; volatile uint8_t flaga1; volatile uint8_t key_lock0; volatile uint8_t key_lock1; volatile unsigned long int max_frequency=40000000; volatile uint8_t min_frequency=10; volatile uint32_t waga_kroku=1; volatile unsigned long int frequency; //potrzebna zmienna do nastaw częstotliwości

ISR(INT0_vect){ flaga0=1; } ISR(INT1_vect){ flaga1=1;

//wektor przerwań INT0 //operacje do wykonania //wektor przerwań INT1 //operacje do wykonania

} int main(void) { uint8_t mode=0; uint8_t dodaj=0; uint8_t odejmij=0; uint8_t tryb=0; uint8_t krok=0; uint8_t pwm=0; uint8_t a=0; uint8_t b=0; char *vpp=" "; float vpeak=0.00; char bufor[16]="

";

//-----------------INICJALIZACJA-------------------LCD_Initalize(); //załadowanie wyświetlacza HD44780 AD8950_init(); //definicja generatora AD9850 sw_init(); //definicje przycisków //GENERATOR AD8950_init(); _delay_ms(10); send_byte(0); _delay_ms(10); frequency=10; set_freq(frequency);

//zainicjowanie podłączeń generatora //wyślij bajt zer żeby zainicjowac transmisje //ustaw częstotliwośc na równą 10 //wyslij ustawioną czestotliwośc

//PRZERWANIA sei(); //globalne włączenie przerwań GICR |=(1...


Similar Free PDFs