Analog Discovery 2 w praktyce (cz. 2) – Generator funkcyjny – przykłady

W artykule opisano zaawansowaną konfigurację generatora funkcyjnego wbudowanego w Analog Discovery 2.

 

Poprzednie odcinki kursu Analog Discovery 2 w praktyce można znaleźć na łamach portalu Mikrokontroler.pl

Generator funkcyjny wbudowany w AD2 umożliwia wytwarzanie nie tylko podstawowych kształtów sygnałów; dostępne są także zaawansowane metody generowania sygnałów:

  • simple – prosty tryb generowania podstawowych sygnałów: sinus, prostokąt, trójkąt, rampa, szum itd. Możliwe jest modyfikowanie najważniejszych parametrów: amplituda, faza, częstotliwość, symetria;
  • basic – rozszerzenie trybu simple – modyfikacja parametrów odbywa się za pomocą suwaków, ułatwiając uzyskanie pożądanego kształtu sygnału;
  • customgenerowanie dowolnego kształtu sygnału dzięki skryptom napisanym przez użytkownika;
  • play – generowanie sygnału na podstawie pliku tekstowego (*.txt), arkusza kalkulacyjnego (*.csv) lub dźwięku (*.wav);
  • sweep – przemiatanie częstotliwości sygnału (pomiary charakterystyk);
  • modulation – sygnał modulacji amplitudy (AM) lub częstotliwości (FM). Sygnał nośnej oraz informacji może być dowolnym sygnałem z trybu simple.

Na rysunkach 1…9 przedstawiono interfejsy poszczególnych metod generowania sygnału.

Rysunek 1. Globalne ustawienia generatora

Na rysunku 1 został przedstawiony interfejs globalnych ustawień generatora funkcyjnego. Etykieta zakładki (1) zawiera przycisk globalnego włączenia generatora zsynchronizowany z przyciskiem Run All (2). Ilość ustawianych kanałów można wybrać w polu Channels (w AD2 są dostępne dwa niezależne kanały generatora).

Pole (4) umożliwia synchronizację kanałów: niezależne kanały, synchronizacja przez sygnał z innego bloku AD2 (np. sygnał cyfrowy, zewnętrzne wejście wyzwalania T1,2), autosynchronizacja.

Rysunek 2. Globalne ustawienia kanału

Na rysunku 2 przedstawiono globalne ustawienia kanału. Pole (1) umożliwia włączenie pojedynczego kanału. Znacznik Enable (2) na stałe włącza lub wyłącza kanał. Pole (3) umożliwia wybranie trybu. Ikona zębatki (4) służy do ustawienia poziomu napięcia, kiedy kanał jest wyłączony: napięcie może być proporcjonalne do wartości pierwszej próbki lub wartości składowej stałej.

Rysunek 3. Tryb simple generatora

Na rysunku 3 przedstawiono interfejs trybu simple generatora. Znaczenie poszczególnych pól:

  • Type – kształt przebiegu (np. sinus, prostokąt);
  • Frequency – częstotliwość sygnału;
  • Amplitude – amplituda sygnału;
  • Offset – składowa stała
  • Symmetry – symetria sygnału
  • Phase – przesunięcie fazy

Zębatka w prawym górnym rogu umożliwia dodanie kształtu przebiegu przez wykorzystanie trybu custom, import z pliku lub edycję istniejącego przebiegu.

Rysunek 4. Tryb basic generatora

Tryb basic przedstawiono na rysunku 4. Jest to tryb simple wzbogacony o możliwość dostosowania parametrów przebiegu za pomocą suwaków o charakterystyce logarytmicznej. Pole (1) umożliwia (od lewej) dodanie nowego przebiegu przez tryb custom, import przebiegu z pliku, edycję lub usunięcie istniejącego przebiegu. W polu (2) wyświetlane są istniejące kształty przebiegów.
Pole (3) jest interfejsem graficznym modyfikacji jednego z parametrów (częstotliwość, amplituda, składowa stała, symetria, faza). Znacznik umieszczony w górnym lewym rogu umożliwia ustawienie na stałe domyślnej wartości lub „odblokowanie” możliwości dostosowania parametru. Wartość (4) określa górny zakres parametru, a (7) dolny zakres. Poruszenie suwakiem (6) powoduje logarytmiczną zmianę wartości parametru (5).

Rysunek 5. Tryb custom generatora

Na rysunku 5 przedstawiono interfejs trybu custom generatora. Przycisk New umożliwia dodanie nowego przebiegu – otwiera okno przedstawione na rysunku 6. Przycisk import pozwala na wczytanie przebiegu z pliku (dźwięk, tekst, arkusz kalkulacyjny), edit umożliwia edycję istniejącego przebiegu a znak „-„ usuwa istniejący przebieg.

W polu po lewej stronie umieszczone są istniejące przebiegi użytkownika, w prawej stronie wypisane są parametry syntezy: częstotliwość sygnału, częstotliwość próbkowania, amplituda, składowa stała, przesunięcie fazy.

Tworzenie własnego kształtu sygnału może odbywać się na różne sposoby:

  • Func – wykorzystanie zdefiniowanych kształtów sygnałów;
  • Math – sygnał zdefiniowany przez równania matematyczne (skrypt użytkownika);
  • Values – bezpośrednie ustalenie wartości poszczególnych próbek sygnału;
  • File – wczytanie pliku tekstowego, dźwiękowego lub arkusza kalkulacyjnego;
  • Alter – synteza kształtu sygnału przez dodanie, odjęcie, mnożenie lub dzielenie dwóch sygnałów.

Rysunek 6. Okno tworzenia nowego kształtu sygnału

Po lewej stronie umieszczony jest interfejs tekstowy syntezy kształtu sygnału. Na środku znajduje się wykres przedstawiający kształt sygnału. Przycisk Normalize umożliwia dostosowanie amplitudy sygnału do największej możliwej wartości. Po prawej stronie umieszczona jest tabela z wartościami poszczególnych próbek.

Rysunek 7. Tryb play generatora

Tryb play umożliwia odtwarzanie pliku dźwiękowego. Przycisk Import (rysunek 7) służy do wczytania pliku, „-„ usuwa plik. Lista wczytanych plików znajduje się poniżej przycisku import. Parametry dźwięku znajdują się w dolnej części interfejsu:

  • Frequency – częstotliwość próbkowania;
  • Amplitude – amplituda sygnału;
  • Offset – składowa stała;
  • Samples – ilość próbek;
  • Span – czas trwania pliku dźwiękowego.

Rysunek 8. Tryb sweep generatora

Tryb sweep (rysunek 8) umożliwia zmianę częstotliwości oraz amplitudy sygnału w czasie. Przemiatanie częstotliwości znajduje zastosowanie w pomiarach charakterystyk i zostało opisane w poprzedniej części kursu. Wybór sygnału odbywa się podobnie jak w trybie simple, jednak dostępne są dodatkowe parametry:

  • Sweep to X [Hz] in Y [ms] – przemiatanie częstotliwości z bazowej do częstotliwości X w czasie Y;
  • Damp to X [V] in Y [ms] – tłumienie amplitudy z bazowej do X [V] w czasie Y [ms].

Na rysunku 9 przedstawiono ostatni tryb generatora – modulacja AM i FM. Sygnały nośnej oraz modulacji amplitudy i częstotliwości są wybierane jak w trybie simple. Po prawej stronie znajduje się wykres modulacji – dla danego przykładu jest to modulacja AM.

Rysunek 9. Tryb modulacji – w tym przypadku wykorzystywana jest modulacja AM. Na wykresie przedstawiony jest sygnał nośnej (zielony, Carrier), sygnał modulujący (niebieski, AM) oraz sygnał wynikowy (żółty, Output)

Przykład 1: tworzenie sygnału użytkownika

W tym przykładzie zostanie przedstawiony sposób tworzenia sygnału użytkownika (custom). Tworzony przebieg będzie miał charakter generatora addytywnego – synteza kształtu sygnału za pomocą sumy 10 sinusoid o częstotliwościach będących wielokrotnościami częstotliwości podstawowej (harmoniczne).

Aby uzyskać dostęp do okna tworzenia sygnału, należy uruchomić generator funkcyjny, a następnie przejść do trybu custom (rysunek 2, punkt 3). Po kliknięciu na przycisk New (rysunek 5), wywołane zostanie okno tworzenia kształtu sygnału (rysunek 6). Należy ustawić matematyczny tryb syntezy sygnału (zakładka Math).

Skrypt generatora addytywnego jest przedstawiony na rysunku 10.

Rysunek 10. Skrypt generatora addytywnego

Dzięki zmianom wartości w tablicy amp (amplituda) i ph (faza) można uzyskać różne sygnały, np. prostokąt (rysunek 11).

Rysunek 11. Generowanie addytywnego sygnału prostokątnego

Po uzyskaniu pożądanego kształtu sygnału należy kliknąć przycisk OK, kształt sygnału powinien pojawić się na liście sygnałów w trybie custom (rysunek 12).

Rysunek 12. Poprawnie zaimportowany sygnał użytkownika

Przykład 2: generowanie sygnału użytkownika metodą Alter

W tym przykładzie zostanie przedstawiony sposób generowania sygnału za pomocą metody Alter, polegającej na dodaniu, odjęciu, mnożeniu lub dzieleniu dwóch sygnałów w celu otrzymania sygnału wyjściowego.

Aby uzyskać dostęp do okna tworzenia sygnału, należy uruchomić generator funkcyjny, następnie przejść do trybu custom (rysunek 2, punkt 3). Po kliknięciu na przycisk New (rysunek 5), zostanie wywołane okno tworzenia kształtu sygnału (rysunek 6). Należy ustawić tryb Alter syntezy sygnału (zakładka Alter).

Na początku sygnał wynikowy zawiera same zera, więc pierwszą operacją będzie dodanie pierwszego sygnału. Należy kliknąć przycisk Alter with i wybrać pożądany sygnał (rysunek 13). Sygnał wyjściowy po operacji dodawania jest przedstawiony na rysunku 14.

Rysunek 13. Generowanie sygnału, który będzie dodany do sygnału wyjściowego

Rysunek 14. Widok okna tworzenia sygnału po dodaniu pierwszego sygnału (sinusoida)

Sygnał wyjściowy ma formę sinusoidy, więc teraz można pomnożyć go przez sygnał trójkątny. Należy zaznaczyć opcję X Multiply, kliknąć przycisk Alter with i wybrać sygnał trójkątny. Widok okna tworzenia sygnału po wykonaniu operacji mnożenia jest przedstawiony na rysunku 15.

Rysunek 15. Sygnał wynikowy – mnożenie sinusoidy wysokiej częstotliwości z sygnałem trójkątnym

 

Przykład 3: obserwacja sygnałów użytkownika na oscyloskopie

W tym przykładzie zostanie przedstawiony sposób podłączenia generatora do oscyloskopu w celu obserwacji sygnałów zdefiniowanych w poprzednich przykładach.

Widok okna generatora z uprzednio stworzonymi sygnałami został przedstawiony na rysunku 16. Wykorzystane będą 2 kanały – pierwszy kanał generuje sygnał przykładu 1., drugi kanał generuje sygnał z przykładu 2.

Rysunek 16. Ustawienie generatora funkcyjnego

Generator funkcyjny jest już skonfigurowany i generuje uprzednio zdefiniowane sygnały przez dwa niezależne kanały. Kolejnym krokiem jest podłączenie wyjść generatora do różnicowych wejść oscyloskopu (rysunek 17):

  • 1+ do W1 (dodatnie wejście różnicowe oscyloskopu do pierwszego kanału generatora);
  • 2+ do W2 (dodatnie wejście różnicowe oscyloskopu do drugiego kanału);
  • 1- oraz 2- do masy (czarny przewód).

Rysunek 17. Wyprowadzenia Analog Discovery 2

Sygnały z generatora są podłączone do wejścia oscyloskopu, pozostaje więc jedynie go skonfigurować. Aby uruchomić oscyloskop, należy w menu głównym AD2 kliknąć przycisk Scope.

Podstawowa konfiguracja oscyloskopu odbywa się w 4 etapach:

  1. Wybranie trybu akwizycji danych (Repeated, Screen, Shift, Record);
  2. Konfiguracja wyzwalania podstawy czasu (trigger) – wybór źródła wyzwalania oraz jego poziomu;
  3. Konfiguracja podstawy czasu (przesunięcie oraz skala);
  4. Konfiguracja poszczególnych kanałów (przesunięcie oraz skala).

Uruchomienie pomiarów odbywa się za pomocą przycisku Single (pojedynczy pomiar) lub Run (pomiar w trybie ciągłym).

Na rysunku 18 przedstawiono skonfigurowany oscyloskop wraz z pomiarem sygnałów generatora. Widać, że kształt mierzonych sygnałów odpowiada sygnałom zaprojektowanym w trybie custom generatora funkcyjnego.

Pomiar jest wyzwalany w momencie, gdy wystąpi narastanie napięcia w kanale 1 oscyloskopu i jego wartość osiągnie 5 mV (ustawienie wyzwalania w górnym panelu).

Konfiguracja skali i przesunięć odbywa się w panelu po prawej stronie – aby dwa kanały mogły być wyświetlane niezależnie, należy je przesunąć względem siebie (przesunięcie pierwszego kanału o +1 V, a drugiego kanału o -1 V).

Rysunek 18. Pomiar sygnałów z generatora

 


Autor artykułu zdobył jedną z czterech głównych nagród w międzynarodowym konkursie inżynierskim Digilent Design Contest 2018, który odbył się w Rumunii. Przedmiotem konkursu było zaprojektowanie i skonstruowanie urządzenia na bazie sprzętu dostarczonego przez organizatora, w tym przypadku przyrządu Analog Discovery 2. Projekt Jakuba Wiczyńskiego o nazwie Additive Synthesizer otrzymał nagrodę specjalną Digilent Instrumentation Prize, przyznawaną za najlepsze wykorzystanie zasobów sprzętowych.
Zapraszamy do przeczytania kolejnej części kursu, dotyczącej obsługi oscyloskopu: Analog Discovery 2 w praktyce (cz. 3) – Oscyloskop

O autorze