LABORATORIUM Komputery przemysłowe i systemy wbudowane

Podobne dokumenty
Temat nr 5. System czasu rzeczywistego bazujący na stałopozycyjnym procesorze sygnałowym. LABORATORIUM Procesory i komputery przemysłowe

LABORATORIUM Architektura systemów wbudowanych

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej. Instrukcja do zajęć laboratoryjnych z przedmiotu:

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej. Instrukcja do zajęć laboratoryjnych z przedmiotu:

Laboratorium Procesorów Sygnałowych

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Procesory Sygnałowe i Logika Programowalna Laboratorium Ćw. 2. Zajęcia wprowadzające II

Parametryzacja przetworników analogowocyfrowych

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej. Instrukcja do zajęć laboratoryjnych z przedmiotu:

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Cechy karty dzwiękowej

PROCESORY SYGNAŁOWE - LABORATORIUM. Ćwiczenie nr 04

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

1.Wstęp. 2.Generowanie systemu w EDK

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Instrukcja użytkownika

Generator przebiegów pomiarowych Ex-GPP2

Laboratorium Komputerowe Systemy Pomiarowe

Ćwiczenie 4: Próbkowanie sygnałów

dokument DOK wersja 1.0

Electronic Infosystems

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Laboratorium Komputerowe Systemy Pomiarowe

ZAKŁAD SYSTEMÓW ELEKTRONICZNYCH I TELEKOMUNIKACYJNYCH Laboratorium Podstaw Telekomunikacji WPŁYW SZUMÓW NA TRANSMISJĘ CYFROWĄ

1 Moduł Lutron HomeWorks QS

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051

Konfiguracja pakietu CrossStudio for MSP

Instytut Teleinformatyki

Państwowa Wyższa Szkoła Zawodowa

Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami

Modułowy programowalny przekaźnik czasowy firmy Aniro.

WYKŁAD 5. Zestaw DSP60EX. Zestaw DSP60EX

SYSTEMY CZASU RZECZYWISTEGO (SCR)

Sprawdzian test egzaminacyjny 2 GRUPA I

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017

Rejestratory Sił, Naprężeń.

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

1.1. Wymogi bezpieczeństwa Pomoc techniczna TIA Portal V13 instalacja i konfiguracja pakietu...18

Sprzęt i architektura komputerów

Laboratorium: Systemy operacyjne czasu rzeczywistego. Temat: Wprowadzenie do karty DS1102 i oprogramowania Control Desk.

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej.

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Wzmacniacze napięciowe i ograniczniki dynamiki

Laboratorium Komputerowe Systemy Pomiarowe

Badanie właściwości wysokorozdzielczych przetworników analogowo-cyfrowych w systemie programowalnym FPGA. Autor: Daniel Słowik

Ćwiczenie 7: WYKONANIE INSTALACJI kontroli dostępu jednego Przejścia REGIONALNE CENTRUM EDUKACJI ZAWODOWEJ W BIŁGORAJU

Widok programatora PonyProgUSB wersja 1.0 oraz jego elementy przedstawiono na poniższym rysunku.

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

AutoPROFIL R 6 Dodatek do opisu programu Współpraca z programem AutoCAD 2006 i LT 2006

Laboratorium 2 Sterowanie urządzeniami z wykorzystaniem systemu plików Intel Galileo

POMIARY WYBRANYCH PARAMETRÓW TORU FONICZNEGO W PROCESORACH AUDIO

RS485 MODBUS Module 6RO

Procesory Sygnałowe Digital Signal Processors. Elektrotechnika II Stopień Ogólnoakademicki

1 Układy wzmacniaczy operacyjnych

AutoPROFIL R 6 Dodatek do opisu programu Współpraca z programem AutoCAD 2004, 2005, LT 2004 i LT 2005

Instytut Teleinformatyki

ZL10PLD. Moduł dippld z układem XC3S200

Instytut Teleinformatyki

Podstawy programowania sterowników SIMATIC S w języku LAD / Tomasz Gilewski. Legionowo, cop Spis treści

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA

1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania

Przetwornik analogowo-cyfrowy

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

1 Badanie aplikacji timera 555

Instrukcja do oprogramowania ENAP DEC-1

Spis treści. 1 Moduł Modbus TCP 4

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

a) dolno przepustowa; b) górno przepustowa; c) pasmowo przepustowa; d) pasmowo - zaporowa.

Schemat blokowy karty

MultiTool instrukcja użytkownika 2010 SFAR

Uwaga: dioda na wyjściu 13 świeci gdy na wyjście podamy 0.

Systemy Czasu Rzeczywistego FPGA

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

TRUST AMI MOUSE WIRELESS 300

Państwowa Wyższa Szkoła Zawodowa

Regulator PID w sterownikach programowalnych GE Fanuc

Instrukcja do ćwiczenia laboratoryjnego nr 9

Sprawdzian wiadomości z jednostki szkoleniowej M3.JM1.JS3 Użytkowanie kart dźwiękowych, głośników i mikrofonów

Ćwiczenie 4: Eksploatacja systemu kontroli dostępu jednego Przejścia REGIONALNE CENTRUM EDUKACJI ZAWODOWEJ W BIŁGORAJU

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi

Radio z odtwarzaczem CD Lenco

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Generator funkcyjny. Spis treści. Działanie. Interfejs. Adam Miarka Maksymilian Szczepanik

1.2. Architektura rdzenia ARM Cortex-M3...16

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

2 INSTALACJA OPROGRAMOWANIA. 3 3 GŁÓWNE OKNO PROGRAMU 3 4 MODUŁ OBSŁUGI ARCHIWUM 7

Ćwiczenie Wstawianie spisu treści, indeksu alfabetycznego i indeksu ilustracji Wstaw > Indeksy i spisy > indeksy i spisy) Wskazówka:

BADANIE ELEMENTÓW RLC

Bogdan Olech Mirosław Łazoryszczak Dorota Majorkowska-Mech. Elektronika. Laboratorium nr 3. Temat: Diody półprzewodnikowe i elementy reaktancyjne

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

Kod produktu: MP01611-ZK

Projektowanie Systemów Wbudowanych

Sprawdzian test egzaminacyjny GRUPA I

1 Moduł Modbus ASCII/RTU 3

Transkrypt:

LABORATORIUM Komputery przemysłowe i systemy wbudowane ĆWICZENIE 4 System przetwarzania sygnałów w czasie rzeczywistym opartyna zmiennoprzecinkowym procesorze sygnałowym Prowadzący: Mariusz Rudnicki 2016

Spis treści 1. Wstęp.... 3 2. Praca z modułem uruchomieniowym... 5 2.1. Diagnostyka... 5 2.2. Zintegrowane środowisko programistyczne.... 6 3. Zadanie 1.... 12 4. Zadanie 2.... 13 5. Zadanie 3.... 14 6. Zadanie 4.... 15 7. Zadanie 5.... 17 8. Załącznik 1 Generowanie sygnałów okresowych... 18 9. Załącznik 2. Układ kodeka TLV320AIC23.... 20-2 -

1. Wstęp. Laboratorium będzie realizowane z wykorzystaniem zestawu uruchomieniowego firmy Spectrum Digital zawierający procesor sygnałowy firmy Texas Instruments. Płyta zestawu uruchomieniowego składa się z bloków funkcjonalnych jak przedstawia to poniższe zdjęcie: Rysunek 1. Rozmieszczenie elementów, wyprowadzeń oraz bloków funkcyjnych na płycie zestawu uruchomieniowego TMS320C6713 DSK Płyta zawiera zastępujące elementy: Procesor sygnałowy TMS320C6713, taktowny zegarem 225 MHz Pamięć dynamiczna 16MB SDRAM Układ kodeka AIC23 Pamięć Flash Kontroler emulacji JTAG Złącze kompatybilne ze złączem EVM do podłączania układów dodatkowych Głównym układem zestawu uruchomieniowego jest 32-bitowy zmiennoprzecinkowy procesor sygnałowy TMS320C6713. Zawiera on rdzeń C67xx+ który jest zoptymalizowany do realizacji złożonych operacji zmiennoprzecinkowych 1350 MFLOPS, 1800 MIPS. Obszerna, wewnętrzna pamięć procesora umożliwia uzyskanie maksymalnej wydajności i realizacji zadań czasu rzeczywistego. - 3 -

Procesor jest uzupełniony o liczne interfejsy które czynią go elastycznym elementem projektowanych systemów. Najważniejszymi interfejsami są: - wielokanałowy port szeregowy (McBSPs), - kontroler I2C, - dwa 64-bitowe zegary, - kontroler EDMA, - elastyczny interfejs do współpracy z układami zewnętrznymi EMIF (pamięć DDR2, Flash, SRAM,I/O) - interfejs Serial Rapid I/O Pamięć SDRAM służy do przechowywania programu i danych. Pamięć Flash jest używana do przechowywania programu z którego zostanie uruchomiony procesor po podaniu zasilania. Poprzez wyprowadzenie sygnałów interfejsu EMIF istnieje możliwość podłączenia karty rozszerzającej (daughtercard) dostarczanych przez różnych producentów lub własnoręcznie opracowanych. Procesory sygnałowe są często używane w aplikacjach przetwarzających dźwięk dlatego na płycie umieszczono kodek (AIC23). Kodek umożliwia kodowanie/dekodowanie, a jego działanie ogranicza się do przetwarzania sygnału z postaci analogowej na cyfrową dla późniejszej obróbki przez procesor i zamianę postaci cyfrowej sygnału na analogową. Do komunikacji z układem kodeka służy interfejs McBSP0. - 4 -

2. Praca z modułem uruchomieniowym 2.1. Diagnostyka Przystępując do realizacji zadań w ramach Laboratorium, należy w pierwszej kolejności dokonać kontroli poprawności podłączenia zestawu uruchomieniowego firmy Spectrum Digital. v3.1. Następnie należy uruchomić program diagnostyczny 6713 DSK Diagnostics Utility Ma on za zadanie przetestowanie połączenia pomiędzy komputerem PC (zintegrowanym środowiskiem programistycznym) a modułem uruchomieniowym i sprawdzić poprawność działania głównych układów płyty uruchomieniowej. Aby uruchomić program diagnostyczny należy skorzystać z ikony umieszczonej na pulpicie: Rysunek 2. Ikona programu diagnostycznego modułu uruchomieniowego Rysunek 3. Okno z poprawnym wynikiem diagnostyki modułu uruchomieniowego. - 5 -

2.2. Zintegrowane środowisko programistyczne. W celu uruchomienia zintegrowanego środowiska programistycznego należy skorzystać z ikony umieszczonej na pulpicie: Rysunek 4. Ikona zintegrowanego środowiska programistycznego. Rysunek 5. Okno główne Code Composer Studio. - 6 -

Pierwszą czynnością po uruchomieniu środowiska jest nawiązanie połączenia z modułem uruchomieniowym można tego dokonać poprzez wybranie opcji z menu Debug Connect (Alt+C). Rysunek 6. Nawiązanie połączenia z modułem. - 7 -

Aby wczytać wcześniej przygotowany projekt należy wybrać opcję Project Open Rysunek 7.Odczyt pliku projektowego. Po odczytaniu pliku projektowego z katalogu ProgramNr1 i wybraniu okna z plikiem źródłowym okno środowiska będzie wyglądało następująco. Rysunek 8. Okno środowiska po odczycie pliku projektowego. - 8 -

Tworzenie programu wykonywalnego (*.out) do odnalezienia w podkatalogu C:\CCStudio_v3.1\MyProjects\ProgramNr2\Debug - następuje poprzez: a. Realizację projektu: - opcja Rebuild All ikona Toolbar, - opcja Rebuild All z menu Project, Rysunek 9. Ikona Rebuild All. Rysunek 10. Menu Project zintegrowanego środowiska programistycznego. - 9 -

b. Weryfikacja tworzenia pliku wykonywalnego w oknie wyjściowym: oczekiwany wynik 0 errors,? warnings Rysunek 11. Okno wyniku kompilacji. Ładowanie programu do pamięci procesora sygnałowego dokonuje się przez wybranie opcji z menu File Load Program: Rysunek 12. Wybór polecenia Load Program z menu File. Plik wykonywalny (*.out) zwykle znajduje się w podkatalogu Debug tworzonego projektu. Rys.13. Rysunek 13. Okno wyboru pliku wykonywalnego. Aby uruchomić program lub śledzić jego (kod) krok po kroku należy skorzystać z opcji menu Debug, skrótów klawiszowych lub używając różnych ikon Toolbara - 10 -

Rysunek 14. Menu Debug oraz Toolbar Debug. - 11 -

3. Zadanie 1. Korzystając z szablonu programu (Katalog projektu C:\CCStudio_v3.1\MyProjects\ProgramNr1) zestawić program tak, aby odczytywał stan przełączników, zadanych przez prowadzącego, umieszczonych na płycie zestawu uruchomieniowego. W sprawozdaniu należy: 1. Umieścić zestawiony kod programu W tym celu należy wykorzystać dostępną funkcje odczytującą stan przełączników: Uint32 DSK6713_DIP_get(Uint32 dipnum) Parametr wejściowy: dipnum oznacza numer przełącznika, gdzie: dipnum = 0 przełącznik nr 0 dipnum = 1 przełącznik nr 1 dipnum = 2 przełącznik nr 2 dipnum = 3 przełącznik nr 3 Wartość zwracana: 0 przełącznik wciśnięty, 1 przełącznik wyciśnięty. Rysunek 15. Przełącznik umieszczony na płycie. Przykład: Zestawić program tak aby odczytywał stan przełącznika nr 3. if (DSK6713_DIP_get(3) == 0) { // Przełącznik nr 3 jest włączony printf("wcisnięty przełącznik DIP3 \n"); } else { // Przełącznik nr 3 jest wyłączony printf("wycisnięty przełącznik DIP3 \n"); } - 12 -

4. Zadanie 2. Korzystając z szablonu programu (Katalog projektu C:\CCStudio_v3.1\MyProjects\ProgramNr2) zestawić program tak, aby realizował zadany program włączania/wyłączania diód LED w odpowiedzi na odpowiedni stan przełączników. Program włączania/wyłączania podaje prowadzący. W sprawozdaniu należy: 1. Umieścić zestawiony kod programu W tym celu należy wykorzystać dostępną funkcje włączenia diody LED: void DSK6713_LED_on(Uint32 lednum) Parametr wejściowy: lednum oznacza numer diody LED do włączenia, gdzie: lednum = 0 dioda LED nr 0 lednum = 1 dioda LED nr 1 lednum = 2 dioda LED nr 2 lednum = 3 dioda LED nr 3 Rysunek 16. Diody LED umieszczone na płycie. Aby wyłączyć diodę LED należy użyć analogicznie działającej funkcji: void DSK6713_LED_off(Uint32 lednum) Przykład: Włącz diodę LED nr 0 a pozostałe ustaw w stan wyłączony, gdy przełącznik nr 0 jest wciśnięty, a pozostałe przełączniki są wyłączone. if ((DSK6713_DIP_get(3) == 1) && (DSK6713_DIP_get(2) == 1) && (DSK6713_DIP_get(1) == 1) && (DSK6713_DIP_get(0) == 0) ) { DSK6713_LED_off(3); // Zgaś diodę LED nr 3 DSK6713_LED_off(2); // Zgaś diodę LED nr 2 DSK6713_LED_off(1); // Zgaś diodę LED nr 1 DSK6713_LED_on(0); // Zapal diodę LED nr 0 } else { DSK6713_LED_off(3); //Zgaś diodę LED nr 3 DSK6713_LED_off(2); //Zgaś diodę LED nr 2 DSK6713_LED_off(1); //Zgaś diodę LED nr 1 DSK6713_LED_off(0); //Zgaś diodę LED nr 0 } - 13 -

5. Zadanie 3. Korzystając z szablonu programu (Katalog projektu C:\CCStudio_v3.1\MyProjects\ProgramNr3) zestawić program tak aby realizował zadaną sekwencje migania diód LED. Postać sekwencji podaje prowadzący. W sprawozdaniu należy: 1. Umieścić zestawiony kod programu W tym celu należy wykorzystać dostępną funkcje zmiany stanu diody LED, jak i wcześniej omawiane funkcje. void DSK6713_LED_toggle(Uint32 lednum) Parametr wejściowy: lednum oznacza numer diody LED Oraz funkcje opóźnienia czasowego z rozdzielczością mikrosekundową: void DSK6713_waitusec(Uint32 delay) Parametr wejściowy: delay opóźnienie podane w mikrosekundach Przykład: Włącz diodę LED nr 0 a pozostałe ustaw w stan wyłączony, gdy przełącznik nr 0 jest wciśnięty, a pozostałe przełączniki są wyłączone. DSK6713_LED_init() // inicjiuj diody LED DSK6713_LED_toggle(2); // Zmień stan diody LED nr 2 DSK6713_waitusec(500000); // Czekaj 0.5 sek DSK6713_LED_toggle(2); // Zmień stan diody LED nr 2 DSK6713_waitusec(1000000); // Czekaj 1 sek DSK6713_LED_toggle(1); // Zmień stan diody LED nr 1 DSK6713_waitusec(2000000); // Czekaj 2 sek DSK6713_LED_toggle(1); // Zmień stan diody LED nr 1 DSK6713_waitusec(1000000); // Czekaj 1 sek - 14 -

6. Zadanie 4. Korzystając z szablonu programu (Katalog projektu C:\CCStudio_v3.1\MyProjects\ProgramNr4) Zestawić program tak aby wygenerować sygnał sinusoidalny o zadanej częstotliwości i amplitudzie, podanych przez prowadzącego. Materiały pomocnicze zamieszczono w Załączniku 1 i Załączniku 2. W sprawozdaniu należy: 1. Zamieścić zarejestrowany sygnał generowany na wyjściu słuchawkowym i liniowym 2. Umieścić zestawiony kod programu Rysunek 17. Schemat połączeń dla zadania nr 4. Zestawiając program należy skorzystać z funkcji obsługi układu kodeka: void DSK6713_AIC23_setFreq(DSK6713_AIC23_CodecHandle hcodec, Uint32 freq) Parametr wejściowy: hcodec uchwyt kodeka freq częstotliwość próbkowania kodeka (domyślnie 48 khz) - 15 -

void DSK6713_AIC23_outGain(DSK6713_AIC23_CodecHandle hcodec, Uint16 outgain) Parametr wejściowy: hcodec uchwyt kodeka outgain wzmocnienie sygnału wyjściowego w torze słuchawkowym Wzmocnienie możemy regulować w 79 krokach w zakresie od +6dB do -73dB (wyciszenie) przy czym dla -73 db należy wpisać wartość 48 dec (0110000 bin), natomiast dla +6dB należy wpisać wartość 127 dec (1111111 bin). Przykład: Zestawić program tak aby wygenerować sygnał sinusoidalny o częstotliwości 200 Hz i amplitudzie 1,4V. 1. Określamy wielkość tablicy z wartościami sygnału zgodnie ze wzorem (1.2). Ustaw właściwą liczbę próbek przypadającą na jeden okres generowanego sygnału w linii jak poniżej przedstawiono: #define LICZBA_PROBEK_NA_OKRES 40 2. Odpowiednio modyfikujemy funkcje główną programu void main() { DSK6713_AIC23_CodecHandle hcodec; Int16 msec, sample; DSK6713_init(); // Otwarcie obsługi układu kodeka hcodec = DSK6713_AIC23_openCodec(0, &ConfigJhs); // Ustawienie wzmocnienia amplitudy wyjścia słuchawkowego DSK6713_AIC23_outGain(hCodec, 127); // Ustawienie częstotliwości próbkowania na 8 khz DSK6713_AIC23_setFreq(hCodec, DSK6713_AIC23_FREQ_8KHZ); // Tworzenie tablicy z próbkami sygnału generowanego GenerowanieSygnalu(LICZBA_PROBEK_NA_OKRES); while(1) { for (sample = 0; sample < LICZBA_PROBEK_NA_OKRES; sample++) { // Wyślij próbkę do lewego kanału while (!DSK6713_AIC23_write(hCodec, TablicaProbekSygnalu[sample])); // Wyślij próbkę do prawego kanału while (!DSK6713_AIC23_write(hCodec, TablicaProbekSygnalu[sample])); } } // Zamknięcie obsługi układu kodeka DSK6713_AIC23_closeCodec(hCodec); } - 16 -

7. Zadanie 5. Korzystając z szablonu programu (Katalog projektu C:\CCStudio_v3.1\MyProjects\ ProgramNr5), zestawić program tak aby przekazać sygnał z wejścia kodeka na wyjście kodeka po odpowiednim wzmocnieniu sygnału na wejściu i wyjściu., podanych przez prowadzącego. W sprawozdaniu należy: 1. Zamieścić wykres podawanego sygnału zarejestrowanego na wyjściu słuchawkowym 2. Umieścić zestawiony kod programu Rysunek 18. Schemat połączeń dla zadania nr 5. Przykład: Zestawić program tak aby przetworzony został sygnał z wejścia liniowego na wyjście słuchawkowe z następującymi parametrami: częstotliwość próbkowania 8 khz, wzmocnienie wejścia liniowego 0dB, wzmocnienie wyjścia słuchawkowego 0dB. W tym celu należy zmodyfikować ustawienia jak poniżej: // ============================================================== // Parametry do ustawienia // ============================================================== Uint32 fp=dsk6713_aic23_freq_8khz; // Częstotliwość próbkowania Uint32 AmpHeadphone=121; // Wzmocnienie wyjścia słuchawkowego (48..127) // (-73 db.. +6dB <== krok 1 db) 0dB 121 Uint32 InputLineVol=23; // Wzmocnienie wejścia liniowego (0..31) // (-34.5 db.. +12dB <== krok 1.5 db) 0dB 23-17 -

8. Załącznik 1 Generowanie sygnałów okresowych W celu wygenerowania sygnału o określonej częstotliwości i amplitudzie, dysponując przetwornikiem cyfrowo-analogowym o częstotliwości próbkowania fp należy przeprowadzić następującą analizę. Generowanie sygnału polega na podaniu wartości układowi kodeka, który generuje na wyjściu układu sygnał analogowy o odpowiedniej amplitudzie. Aby wygenerować sygnał zmienny w czasie, należy przygotować tablice z wartościami sygnału, które będą kolejno podawane do układu kodeka, a wystawiane przez kodek zgodnie z częstotliwością próbkowania. Przygotowanie tablicy z wartościami sygnału. Chcąc uzyskać sygnał generowany o określonej częstotliwości należy dobrać ilość próbek na okres sygnału generowanego odpowiednio do częstotliwości próbkowania (Czyli dobrać wielkość tablicy z wartościami sygnału). Aby generowanie sygnału przebiegało poprawnie w tablicy powinny być przechowywane wartości odwzorowujące pełen okres sygnału generowanego lub jego wielokrotność. Zależność ta jest opisana wzorem: gdzie:, (1.1) częstotliwość generowanego sygnału, częstotliwość próbkowania kodeka, ilość próbek sygnału na okres. Z powyższego wzoru otrzymujemy:, (1.2) Posiadając informacje o wielkości potrzebnej tablicy z wartościami funkcji, możemy przejść do jej wygenerowania. Należy to zrobić zgodnie ze wzorem: gdzie: amplituda generowanego sygnału, częstotliwość generowanego sygnału,, (1.3) stały odstęp pomiędzy kolejnymi próbkami na wyjściu kodeka, indeks generowanej próbki. Przekształcając powyższy wzór na nasze potrzeby otrzymujemy: (1.4) Powyższe równanie posłuży nam do wygenerowania generowanego. wartości tablicy sygnału Przykład: - 18 -

Dla wygenerować sygnał o częstotliwości. 1. Określamy wielkość tablicy z wartościami sygnału zgodnie ze wzorem (1.2). 2. Wyliczamy wartości tablicy sygnału generowanego zgodnie ze wzorem (1.4). dla czyli, - 19 -

9. Załącznik 2. Układ kodeka TLV320AIC23. Do realizacji zadań związanych z konwersją sygnału analogowego do postaci cyfrowej jaki konwersji sygnału cyfrowego go postaci analogowej jak już wcześniej wspomniano służy układ kodeka TLV320AIC23. Jest to wysoce zintegrowany układ scalony zawierający przetworniki A/C oraz C/A typu Sigma-Delta operujący z częstotliwościami próbkowania od 8 do 96 khz. Układ ten komunikuje się z procesorem sygnałowym przy użyciu interfejsu szeregowego McBSP. Schemat funkcjonalny układu przedstawiono poniżej. Rysunek 19. Układ funkcjonalny kodeka TLV320AIC23. Układ posiada stereofoniczne wejścia i wyjścia liniowe, wejście mikrofonowe oraz stereofoniczne wyjście słuchawkowe. Każde z nich zostało wyposażone we wzmacniacz programowalny przez co istnieje możliwość wzmocnienia sygnału jak i jego tłumienie a dla wejścia mikrofonowego całkowite jego wyciszenie. Szczegółowe informacje dostępne są w dokumentacji firmy Texas Instruments o symbolu SLWS106H. - 20 -