Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 2 gru 2024, o 10:36


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 12 lut 2019, o 21:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2015
Posty: 187
Pomógł: 10

Witam Was kochani, mam na imię Grzegorz i pragnę zabrać Was w świat cyfrowego przetwarzania sygnałów (ang. digital signal processing). Dziedzina ta jest szaleni istotna we współczesnej elektronice cyfrowej. W publikacji tej przedstawię w skrócie zaprojektowaną, wykonaną i oprogramowaną platformę do pracy z sygnałami analogowymi przetwarzanymi w sposób cyfrowy. To wszystko dla potomnych! Projekt wykonany w całości przez autora tego post, wykorzystuje procesor sygnałowy pochodzący z telefonu komórkowego Nokia 5510. Z takiego cuda dokładnie:

ObrazekObrazek

Pracę nad projektem rozpoczęto od narysowanie schematu blokowego, który przedstawiono poniżej. Można wyróżnić cztery bloki. Blok PSU (ang. Power Supply Unit) odpowiada za zasilanie układów. Dostarcza napięć +3V3A, +3V3D oraz 1V6. Napięcia 3V3 analogowe (A) oraz cyfrowe (D) zasila peryferia procesora DSP oraz pozostałe układy. Napięcie 1V6 wykorzystano do zasilenia rdzenia (ang. core) procesora. Blok AUDIO I/O to wejścia oraz wyjścia sygnału analogowego. Płyta posiada wejścia LINE-IN i mikrofon oraz wyjścia LINE-OUT i słuchawki. Blok CODEC to układ kodeka, który został pozyskany ze wspomnianego telefonu komórkowego. Układ ten to TLV320AIC23 posiadający przetwornik ADC oraz DAC o rozdzielczości do 32 bitów (długość słowa). Blok DSP przedstawia procesor sygnałowy TMS320VC5416.

Obrazek

Ogólnie, tor cyfrowego przetwarzania sygnału analogowego przedstawia poniższy rysunek. Procesor sygnałowy operuje na sygnale cyfrowym a ściśle mówiąc na próbkach pobranych w dyskretnych momentach czasu z sygnału analogowego. Jak zapewne domyślacie się, w świecie cyfrowym nie jest możliwa operowanie na sygnałach ciągłych, gdzie dana wartość reprezentowana jest przez nieskończoną ilość "próbek". Filtry przedstawione na poniższym rysunku, ogólnie mówiąc wpływają na jakość sygnału i nie zostaną tutaj omówione.
Aby było możliwe wierne odtworzenie spróbowanego sygnału z postaci cyfrowej do analogowej (DAC) należy sygnał analogowy próbkować z częstotliwością fs=1/Ts minimum dwukrotnie większą od najwyższej częstotliwości składowej (harmonicznej) w sygnale, który poddano operacji próbkowania (ADC).

Obrazek

Schematy ideowe
Schematy układów zostały zaprojektowane w oparciu o dostępną dokumentację oraz przykładowe rozwiązania udostępnione przez producenta procesora oraz układu kodeka. Jest to pierwsza wersja schematów nie pozbawiona błędów.

ObrazekObrazekObrazek

Płyta PCB
Płyta o wymiarach (100x100+/-0.01)mm zaprojektowano w oparciu o dwie warstwy dolną oraz górną, które są rozdzielone dielektrykiem.

ObrazekObrazek

Zmontowany układ
Montażu dokonano w sposób manualny. Wykorzystano technologię hot-air oraz zwykłą lutownicę z odpowiednim grotem do montażu elementów THT. Montażu dokonano sekcjami. W pierwszej kolejnością zmontowano obwody odpowiedzialne za zasilania. Po wykonaniu pomiarów napięć/prądów na wyjściu przystąpiono do montażu pozostałych sekcji.

Obrazek

Oprogramowanie
Wykorzystany procesor sygnałowy TMS320VC5416 należy odpowiednio skonfigurować aby było możliwe wgranie programu. Szczegóły znajdują się w dokumentacji udostępnionej przez producenta. W projekcie nie wykorzystano zewnętrznej pamięci na program. Argumenty jakie za tym stoją to wysoka cena pamięci (zwłaszcza produkcja seryjna), podczas pisania i testowania oprogramowania platforma podłączona jest do zasilania a program wgrywamy niekiedy setki razy. Dlatego postanowiono wykorzystać ulotną pamięć SARAM (single-access random access memory), która jest dostępna w procesorze. Należy liczyć się z tym, że po odłączeniu zasilania zapisane dane we wskazanych obszarach panięciu zostaną utracone.
Oprogramowanie napisano w środowisku Code Composer Studio 5.5.0. Jest to ostatnia wersja CCS, która wspiera rodziną C54xx. Komunikację między komputerem a płytą ewaluacyjną zestawia JTAG XDS100v2.

"Hello World!" w świecie DSP to przepisanie sygnału wejściowego na wyjście procesora sygnałowego, czyli prosta operacja przypisania wartości jednej zmiennej do drugiej kanał_lewy_out = kanał_lewy_in. Do napisania oprogramowania wykorzystano biblioteki CSL (Chip Support Library dla C54xx) oraz przykładowe projekty udostępnione przez producenta.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Dwie zdefiniowane w programie struktury odpowiedzialne są za konfigurację potów McBSP. Układ kodeka wysterowany jest z poziomu procesora DSP po magistrali SPI. Przesyłanie próbek sygnału cyfrowego pomiędzy procesorem a układem kodeka zrealizowano w oparciu o szybką magistralę McBSP (DSP mode). Schemat blokowy aplikacji przedstawiono na poniższym rysunku.

Obrazek

Rezultat
W efekcie otrzymano platformę, która daje możliwość cyfrowej obróbki sygnałów analogowych, operując na ich cyfrowych reprezentacjach. Na poniższym rysunku przedstawiono działanie programu.

Obrazek

Jednak to tylko malutki fragment możliwości jakie oferuje platforma. Uruchomiłem już na tej platformie filtr cyfrowy FIR górno/dolno przepustowy. Działa pięknie! Kolejny projekt z wykorzystaniem zaprezentowanej platformy to implementacja szybkiej transformaty Fouriera FFT (fast Fourier transform).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2019, o 07:01 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2587
Pomógł: 128

Ciekawe wykorzystanie. Gratuluję! Czy pierwotnie ten projekt robiłeś w jakimś konkretnym celu czy wyłącznie jako platforma szkoleniowa?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2019, o 12:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2015
Posty: 187
Pomógł: 10

micky napisał(a):
Ciekawe wykorzystanie. Gratuluję! Czy pierwotnie ten projekt robiłeś w jakimś konkretnym celu czy wyłącznie jako platforma szkoleniowa?

Dziękuję. Celem było przygotowanie zestawu ewaluacyjnego, który umożliwi implementację algorytmów DSP.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO