Lab1 Procesory sygnałowe sprawozdanie PWR, PWr, sprawozdania


Skład grupy.

Indeks

Rok Akad.

Kierunek / specjalność

Nr Stan. lab.

III

III

Elektronika/

Aparatura Elektroniczna


  1. Cel ćwiczenia

Podchodząc do pierwszych zajęć laboratoryjnych dotyczących procesorów sygnałowych wyróżnić możemy cel główny oraz cele towarzyszące. Celem nadrzędnym jest poznanie środowiska , które pozwoli nam tworzyć oprogramowanie dla procesorów sygnałowych oraz kontrolować pracę powyższego. Do zrealizowania celu głównego posłuży nam moduł TMS320C5515 USB Stick. Właśnie na nim zrealizujemy pierwsze zadanie pozwalające przekazywać sygnał przez tor DSP z wejścia na wyjście oraz pomagające pojąć niektóre możliwości oferowane przez CSS.

Dążąc do osiągnięcia celu głównego warto skorzystać z okazji do zapoznania oraz wstępnego przećwiczenia środków i mechanizmów debugowania programu w CSS. To właśnie będzie naszym celem pobocznym ale również bardzo ważnym.

Drugim celem towarzyszącym ustanowionym przez grupę jest zrozumienie zasady działania oprogramowania oraz bezpośrednich skutków naszych decyzji podejmowanych w czasie tworzenia oprogramowania.

  1. Przebieg ćwiczenia

    1. Konfiguracja stanowiska pracy

Do modułu TMS320C5515 USB Stick zgodnie z zaleceniami zostały podłączone odtwarzacz mp3 oraz głośniki. Przy wykonywaniu tej czynności zapoznaliśmy się z dużym znaczeniem miejsca podłączenia zarówno źródła jak odbiornika sygnału(odpowiednie wejście dedykowane dla każdego).Jako źródła sygnału użyliśmy odtwarzacza zewnętrznego , gdyż skorzystanie tutaj z komputera ze względu na zasilanie modułu z komputera prowadzi do otrzymania wspólnej masy na której zaobserwować można prąd zasilania modułu i prąd sygnał€ dźwiękowego. Taka sytuacja prowadziłaby do nieprzyjemnego dźwięku w tle odtwarzanego utworu.

b) Założenie pierwszego projektu w CSS wersji 5.3

Na początku stworzyliśmy odpowiedni folder na dysku D , opisany naszymi nazwiskami. Wewnątrz stworzyliśmy folder „workspace_v5_3” , który jest już docelowym miejscem pracy CSS. Po wykonaniu tych czynności uruchomiliśmy CSS 5.3.Po kliknięciu na ikonę programu , następnym krokiem było wskazanie wcześniej utworzonego folderu jako przestrzeni pracy programu. Następnie stworzyliśmy projekt poprzez „new CSS project” oraz nadaliśmy mu nazwę „MyFirstProject”.

Przechodząc dalej , wybraliśmy zgodnie z zaleceniami ustawienia dla projektu analizując jednocześnie wraz z prowadzącym do czego mogą służyć opcje , których tym razem nie używamy w ustawieniach projektu. Wybrane przez nas opcje służą do ustawienia platformy na której uruchomimy stworzony program , rodziny z której korzystamy oraz rodzaju połączenia. Zgodnie z zaleceniami wybrany został „empty project” jako rodzaj projektu , choć tak naprawdę nasz projekt nie będzie pusty ze względu na pliki dołączone , które do niego wkleimy „lab1-gettingStarted.zip” . Pliki te zawierają wykorzystywane przez nas w czasie tworzenia programu niezbędne zbiory. Zaobserwować możemy zmiany w pliku linkera , obecnie „lnkx.cmd” , stał się on dużo obfitszy niż jego odpowiednik przed dołączeniem plików . Właśnie w tym pliku możemy zaczerpnąć informacji o podstawowych elementach systemu(np. stos, sterta) oraz innych użytecznych informacji.

.

c) Praca nad projektem

Zaczynamy pracę od wglądu do pliku „main.c”. Czynimy tak ze względu na wiodącą role tego pliku jako głównego zbioru który rozpoczyna wykonywanie programu. Zgodnie z zaleceniem kod zawarty w pliku został poddany gruntownej analizie.

Po niezbędnej analizie , przeszliśmy do sprawdzenia możliwości w zakresie ustalenia cech projektu. Skorzystaliśmy tutaj z zakładki „Properties” , którą widzimy po rozwinięciu „Project”. Zaznaczyliśmy ustawienia generalne poprzez „General”.

W tym miejscu ustawiliśmy dołączony przez nas plik „lnkx.cmd” jako plik poleceń dla linkera. Poniżej ustawiliśmy Runtime Support Library dla przyszłego modelu pamięci „huge” jest to biblioteka „rts55h.lib” . W katalogu projektu możemy znaleźć opisane w instrukcji dla poszczególnych typów pamięci biblioteki obsługi . Ze względu na nasz model pamięci „huge”, który jako wskaźników używa zmiennych 23-bitowych zmieniona zostaje wartość „ptrdiff_size” znajdująca się w Runtime Model Options(na 32 bity)..Zmiana ta jest niezbędna biorąc pod uwagę , że maksymalna długość zmiennej przechowującej wynik odejmowania dwóch wskaźników to 23 bity(23-0=23). Wszystkie ustawienia zostały zapamiętane poprzez zatwierdzenie przyciskiem „ok”.W naszym przypadku została również zmieniona wartość „-asm_source” , na „memonic” którą wcześniej musieli przestawić inni użytkownicy.

d) Budowa oraz debugging

W zakładce „project” budujemy projekt poprzez „build all”. Owym kliknięciem wydajemy polecenie kompilacji , asemblacji oraz linkowania.Spodziewanym efektem powyższego jest plik wykonalny. Zgodnie ze wskazaniami , zbadane zostały okienka „Console” oraz „Problems”. Zbadanie obu okienek wskazuje na poprawność składniową oraz wywołanie istniejących funkcji/zmiennych - okienko wskazujące na problemy jest puste.W oknie „Console” potwierdzony został wybrany wcześnie model pamięci oraz inne ustalenia ustawień , ukazywane przez „Console”.

Następnie program został poddany debuggingowi.Sama istota debuggowania to umożliwienie twórcy obserwacji oraz kontroli pracy procesora podczas wykonywania pracy. Sprawdzenie pracy procesora możemy realizować dzięki wglądowi przy pomocy emulatora do wnętrza systemu procesorowego , pamięci oraz rejestrów a także odpowiedniej weryfikacji uzyskanych danych. Komunikat „Target connection complete” w okienku „Console” utwierdza nas o poprawnym dołączeniu modułu. W nowo powstałym okienku zyskujemy wiele możliwości takich jak uruchomienie programu , zakończenie debuggingu lub pauze. Możemy również skorzystać z breakpointów , umożliwiających analizę kodu do dowolnego momentu w programie. Warto wspomnieć , że zaznaczając opcje „registers” mamy wgląd do rejestrów(min.PC,SP,Ar-ów i ich wersji Xxx) , co jest odpowiedzią na pytania : 1,2,3 - o możliwość wglądu do rejestrów zawartych w instrukcji. Oczywiście w tym momencie dysponujemy wieloma możliwościami wglądu do składowych programu oraz pamięci. W oknie „console” możemy znaleźć dodatkowo informację , że pęta PPL została ustawiona na 100 MHz. Program zgodnie z kodem programu(dokładnie pętla for) będzie działał przez 10min(600 s).Środowisko umożliwia nam podgląd kodu poszczególnych wywołanych funkcji , co jest bardzo dużym wsparciem przy analizie kodu oraz przewidywaniu wyników jego działania. Po wciśnięciu „Run->Resume” program zostaje uruchomiony , o poprawności jego działań świadczy sygnał dźwiękowy z podłączonych głośników. Również okienko „Console” daje znać o poprawnym działaniu naszego programu(zgodne z instrukcją napisy).Napisy w okienku „Console” powoduje min. funkcja „prinft” dzięki której możemy wyświetlać tekst w języku C.

e) Analiza kodu

Program rozpoczyna się od dołączenia niezbędnych bibliotek oraz zdefiniowania stałej wejściowej(#include oraz #define) oraz parametrów niezbędnych zmiennych. Następnie już bezpośrednio w kodzie main , widzimy funkcje inicjalizujące(PPL,BSL itd.), które możemy rozwinąć by zobaczyć ich składnie(najechanie myszką). Kolejnym elementem programu są wyświetlone napisy za pomocą „printf”. Docieramy do analizy wersu funkcji asm(" bclr XF").Służy ona w tym wypadku do zresetowania bitu XF. Pętla for jak zostało wspomniane już wcześniej decyduje o długości działania programu(10 min).Kolejne funkcje mają swoje źródło wśród bibliotek powiązanych z kodekiem.To one odpowiadają za zaprzestanie pobierania na wejściu i przekaz zebranych prób na wyjście.Wersy :left_output = left_input; right_output = right_input; zgodnie z komentarzem są prostym procesem przekazującym sygnał z wejścia na wyjście(prawe oraz lewe).

f)Modyfikacja programu

Zgodnie z zaleceniami sygnał na jednym wejściu został pomnożony przez liczbę 2 , a na drugim podzielony przez 2. Następnie po puszczeniu muzyki rolę się odwróciły. Zaobserwowana została zmiana dotycząca głośności wydobywanego dźwięku co pozwoliło na wyciągnięcie wniosków o możliwości zmiany jego natężenia za pomocą deklaracji w kodzie programu.

3) Wnioski

Zapoznanie się z pierwszym programem tworzonym w środowisku CSS ukazało nam mnogość możliwości tego środowiska. Niewątpliwie przy pierwszym kontakcie grozę budzi możliwość ustawienia wielu opcji z których każda ma znaczący wpływ na działanie naszego programu. Dlatego działania świadome oraz uzasadnione z punktu widzenia instrukcji dostarczonych przez prowadzących zajęcia a także dokumentacji technicznej są nieodzownym elementem laboratoriów. Zapoznaliśmy się z możliwościami dotyczącymi debuggowania oraz wglądu do zakładek takich jak np. „registers” czy onko „console”. Narzędzie jakim jest środowisko niewątpliwie daje duże możliwości kontroli nad fizycznym modułem , a cele jakie zostały założone zostały dzięki niemu spełnione.

4) Wyposażenie/aparatura

Stanowisko zostało wyposażone w:

Autor sprawozdania

Temat ćwiczenia

Nr ćwicz.

Laboratorium procesorów sygnałowych data / termin: ………../.......................

1

Autor sprawozdania

Temat ćwiczenia

Nr ćwicz.

Laboratorium procesorów sygnałowych data: ..........................



Wyszukiwarka

Podobne podstrony:
Lab4 Procesory sygnałowe sprawozdanie PWR, PWr, sprawozdania
Lab5 Procesory sygnałowe sprawozdanie PWR, PWr, sprawozdania
Lab2 Procesory sygnałowe sprawozdanie PWR, PWr, sprawozdania
Lab3 Procesory sygnałowe sprawozdanie PWR, PWr, sprawozdania
IiAS lab 1, Mechatronika AGH IMIR, semestr 6, Identyfikacja i analiza sygnałów 2, sprawozdania
Systemy przetwarzania sygnałów sprawozdanie nr 1, WI, Semestr VI, Systemy przetwarzania sygnałów
Systemy przetwarzania sygnałów sprawozdanie nr 6, WI, Semestr VI, Systemy przetwarzania sygnałów
Systemy przetwarzania sygnałów sprawozdanie nr 3, WI, Semestr VI, Systemy przetwarzania sygnałów
Optymalizacja procesów chemicznych i elektrochemiczne procesy produkcyjne, Uczelnia PWR Technologia
Systemy przetwarzania sygnałów sprawozdanie nr 2, WI, Semestr VI, Systemy przetwarzania sygnałów
Procesy przesiewania, sprawozdania agh gig przeróbka mechaniczna
PRÓBKOWANIE SYGNAŁU - Sprawozdanie z laboratorium Technologia Informacjna, Automatyka, Semestr 1, Te
Systemy przetwarzania sygnałów sprawozdanie nr 5, WI, Semestr VI, Systemy przetwarzania sygnałów
[BAT] BAT dla procesów rafineryjnych, Uczelnia PWR Technologia Chemiczna, Semestr 6, BAT-y egzamin
Mateusz Gasiorek 180514 sprawko, [W4] AIR SEMESTR III, TEORIA SYGNAŁÓW, SPRAWOZDANIE, SPRAWOZDANIE
Systemy przetwarzania sygnałów sprawozdanie nr 4, WI, Semestr VI, Systemy przetwarzania sygnałów
,miernictwo L,Pomiar wartości skutecznej napięć okresowo zmiennych metodą analogowego przetwarzania
Plaff J , Polityka rachunkowości w procesie badania sprawozdań finansowych, Wydaw UE, Katowice 2014

więcej podobnych podstron