Strona główna
|
Katedra Systemów Mikroelektronicznych,
Wydział Elektroniki,
Telekomunikacji i Informatyki, Politechnika Gdańska
|
|
Nadajnik i odbiornik DTMF
UWAGA: To jest wersja robocza instrukcji, ostania modyfikacja 20.05.2010 godz 19:00.
Wstęp
Celem zadania jest zaprojektowanie odbiornika i nadajnika sygnału
DTMF. Zadanie należy zrealizować z wykorzystaniem kodeka dźwiękowego
LM4550 (standard AC97) umieszczonego na płytce z układem Virtex 2
Pro. Sygnał z nadajnika powinien być odtworzony na głośnikach
podłączonych do wyjścia "Line Out". Nadajnik sterowany powinien być za
pomocą zaprojektowanego w Zadaniu 4 odbiornika RS232. Źródłem sygnału
wejściowego odbiornika jest mikrofon podłączony do wejścia "Mic
In". Zdekodowany sygnał należy wyświetlić na diodach LED oraz przesłać
do komputera za pomocą zaprojektowanego w Zadaniu 5 nadajnika RS232.
Rys. 1 Zdjęcie płytki Virtex2 Pro. Na rysunku
zaznaczono układy peryferyjne (od lewej kodek AC97, LED, RS232 ),
które powinny zostać wykorzystane w projekcie.
Dokładny opis działania
-
Na wyjściu "Line Out" powinna być generowana suma dwóch
sygnałów okresowych (Tabela DTMF) zgodnie z kodem odebranym z RS232
(pominąć nie pasujące kody). Czas generacji sygnału, po odebraniu
jednego kodu z RS232, powinien wynosić 1 sekundę.
Przykład:
Odebrany bajt z odbiornika RS232 wynosi 0x31 wówczas na wyjściu
"Line Out" przez 1 sekundę generowana jest suma dwóch sygnałów
sinusoidalnych o częstotliwości f1=697[Hz] i f2=1209[Hz].
-
Odbiornik DTMF wykorzystuje sygnał przetworzony przez mikrofon
podłączony do "Mic In". Po dekompozycji sygnału wejściowego na
poszczególne częstotliwości, zdekodowaną wartość należy wyświetlić w
postaci binarnej na diodach LED (wartość powinna być wyświetlana, aż
do następnego poprawnego zdekodowania sygnału) oraz wysłać za pomocą
nadajnika RS232 (w postaci kodu ASCI).
Przykład:
Sygnał odebrany przez mikrofon zawierał dwie
sinusoidy o częstotliwościach f1=770[Hz] oraz f2=1477[Hz], wówczas
należy na diodach LED wyświetlić kod b"0110" oraz wysłać bajt 0x36
nadajnikiem RS232. Jako generator sygnału DTMF, można wykorzystać
moduł z pkt. 1 lub telefon komórkowy.
UWAGA: W zadaniu można wykorzystać jeden z dwóch przygotowanych
szkieletów (wersja sprzętowa lub programowa). W szkieletach tych
osadzony został moduł konfiguracji i komunikacja z kodekiem
LM4550 (komponent AC97_top). Zadaniem grupy projektowej jest
uzupełnienie odpowienich komponentów szkieletu o fragmenty realizujące
algorytm generacji sygnałów okresowych (nadajnik DTMF) oraz detektor
częstotliwości (odbiornik DTMF). W szkieletach brakuje również modułów
dla magistarli RS232 (należy dostosować oraz osadzić moduły odbiornika i nadajnika
z poprzednich zadań).
Możliwości usprawnienia ćwiczenia (dla chętnych)
Plik ucf do zadania, płytka XUP Virtex-2 Pro, układ Virtex-2 Pro XC2VP30 FFG896-7:
#########################################################################################
Net clk_i LOC=AJ15;
Net clk_i IOSTANDARD = LVCMOS25;
Net clk_i PERIOD = 10000 ps;
#########################################################################################
Net rstn_i LOC=AH5; # pressed low SW1
#########################################################################################
### AC97 Signals ###
NET AC97_clk_i PERIOD = 10000 ps;
NET "AC97_clk_i" TNM_NET = "ac97bitclk_grp";
NET AC97_clk_i LOC = F8;
NET AC97_resetn_o LOC = E6;
NET AC97_Sync_o LOC = F7;
NET AC97_SData_o LOC = E8;
NET AC97_SData_i LOC = E9;
#########################################################################################
Net LED_o<0> LOC=AC4; # LED0 low on
Net LED_o<1> LOC=AC3; # LED1 low on
Net LED_o<2> LOC=AA6; # LED2 low on
Net LED_o<3> LOC=AA5; # LED3 low on
#########################################################################################
Net RXD_i LOC=AJ8;
Net TXD_o LOC=AE7;
#########################################################################################
Informacja dodatkowe