STK_ADAU1442 - Mega DSP

STK_ADAU1442 - Mega DSP
Pobierz PDF Download icon
Przedstawiony w EP7/13 zestaw ADAU1701 oparty o "najsłabszy" procesor rodziny Sigma DSP pozwalał na zapoznanie się z obsługą środowiska projektowego i zaletami cyfrowego przetwarzania sygnałów. MEGA DSP oparty o procesory rodziny ADAU144x jest już dużo potężniejszym narzędziem do cyfrowej obróbki sygnału audio, ale dzięki Sigma Studio programuje się go równie łatwo i przyjemnie jak ADAU1701. Rekomendacje: projekt ma spore walory użytkowe i edukacyjne, przyda się nie tylko do zestawu audio, ale również w laboratorium uczelnianym.

Rysunek 1. Schemat blokowy ADAU144x (za nota AD)

Firma Analog Devices ma w ofercie wiele procesorów sygnałowych, a wśród nich jest bardzo interesująca rodzina Sigma DSP. Charakterystyczną cechą i jednocześnie ważną zaletą tej rodziny jest udostępniane za darmo oprogramowanie narzędziowe Sigma Studio (aktualnie wersja 3.9). Jest to środowisko graficzne, w którym "rysujemy" schemat z gotowych, parametryzowanych bloków funkcjonalnych. Zwalnia to z konieczności opanowywania języka programowania i zagłębiania się w tony dokumentacji. Dzięki niewielkiemu nakładowi sił potrzebnych na opanowanie "programowania" w Sigma DSP, możliwa jest realizacja nawet złożonych jednostkowych projektów w bardzo krótkim czasie, co do tej pory nie było możliwe, a procesory DSP przeznaczone były tylko dla wybranych.

Rysunek 2. Schemat ideowy modułu/płytki uruchomieniowej Mega DSP

Rodzina ADAU144x składa się z trzech układów zgodnych ze sobą obudowami i wyprowadzeniami. Schemat blokowy układów ADAU144x przedstawia rysunku 1, różnice charakteryzujące układy zestawiono w tabeli 1.

W przeciwieństwie do ADAU1701 rodzina ADAU144x jest pozbawiona przetworników analogowo-cyfrowych i cyfrowo-analogowych. W zamian za to otrzymujemy rdzeń taktowany przebiegiem o częstotliwości 192 MHz i 24 kanały cyfrowe zdolne obrabiać sygnał 24-bitowy/192 kHz.

Układy mają trzy kanały wejściowe (SDATA IN0…2), trzy wyjściowe (SDATA OUT 0...2) oraz sześć dwukierunkowych (SDATA IN/OUT 3...8) umożliwiających współpracę z sygnałami I2S/TDM.

Układ ADAU144x ma wbudowany odbiornik i nadajnik pracujący w standardzie SPDIF, programowany generator sygnału zegarowego MCLK oraz rozbudowany interfejs GPIO z przetwornikiem A/C o 10-bitowej rozdzielczości.

Różnice pomiędzy układami ADAU1442, ADAU1445 i ADAU1446 polegają na uproszczeniu bloku ASRC (asynchroniczny konwerter częstotliwości próbkowania). Wbudowana krosownica sygnału FARM umożliwia elastyczne konfigurowanie sygnałów o różnych domenach zegarowych. Każdy z układów umożliwia współpracę z procesorem sterującym za pomocą interfejsu I2C czy SPI lub pracę samodzielną z pamięcią EEPROM w trybie SELFBOOT.

Schemat płytki Mega DSP pokazano na rysunku 2. Jej wyposażenie - ze względu na różnorodność aplikacji - zostało ograniczone do minimum. Płytka zapewnia zasilanie procesora DSP ze złącza programatora USBi (I2C): stabilizowane jest napięcie 3,3 V dla zasilania interfejsów IO-DSP (U4 i elementy towarzyszące) i 1,8 V (Q1/R1) dla zasilania rdzenia DSP. Obwody generatora i PLL mają w obwodzie zasilania dodatkowe filtry LC.

Rysunek 3. Schemat montażowy modułu/płytki uruchomieniowej Mega DSP

Ze względu na wysoką częstotliwość taktowania krytyczne jest odpowiednie filtrowanie zasilania. Firma Analog Devices zaleca stosowanie kondensatorów 0,1 µF przyłączonego do każdego doprowadzenia zasilania ADAU144x oraz 10 µF na szynach zasilania. W zaleceniach projektowych jest proponowane stosowanie płytki 4-warstwowej z wydzielonymi płaszczyznami masy i zasilania. Ze względu na wysoki koszt płytki wielowarstwowej, płytka zestawu została zaprojektowana jako dwustronna, ze szczególnym zwróceniem uwagi na sposób prowadzenia masy, filtrowanie zasilania i długość ścieżek, aby nie doprowadzić do znaczącego pogorszenia parametrów układu.

Zwora SBT umożliwia wprowadzenie ADAU144x w tryb SELFBOOT (SBT=3,3 V, 1-2), w którym konfiguracja i parametry są pobierane z pamięci EEPROM. W przeciwieństwie do ADAU1701, nie ma możliwości zapisu zwrotnego (WriteBack), więc wszystkie dane zapisane przez użytkownika zostają utracone po wyłączeniu zasilania. Możliwa jest też współpraca z zewnętrznym procesorem poprzez interfejs I2C (SBT=GND, 2-3).

Układ U2 zapewnia poprawne zerowanie po włączeniu zasilania. Sygnały kanałów cyfrowych doprowadzone są do złącz SDI02 (wejściowe), SDO911 (wyjściowe) oraz SDIO38 (dwukierunkowe). Interfejs jest zgodny ze standardem CMOS 3,3 V. Do złącz SIN/SOUT typu RCA, poprzez obwody terminujące, doprowadzone są sygnały wbudowanego odbiornika/nadajnika SPDIF.


Rysunek 4. Podstawowa konfiguracja modułu Mega DSP

Na złącze GPIO wyprowadzone są sygnały interfejsu użytkownika. Układ jest taktowany za pomocą oscylatora 12,288 MHz dla częstotliwości próbkowania 48 kHz lub 11,2896 MHz dla 44,1 kHz (fs×256). Przebieg o częstotliwości kwarcu, pochodzący z wewnętrznego generatora, jest dostępny na złączu CLK0 i może być wykorzystany np. do taktowania zewnętrznych przetworników C/A.

Zwory M0/M1/M2 umożliwiają wybór mnożnika fs dla wewnętrznego układu PLL zgodnie z tabelą 2. (256×fs jest ustawione domyślnie). Przy tej częstotliwości taktowania, na jedną próbkę sygnału cyfrowego przypada 3584 możliwych do wykonania instrukcji programowych.

Rysunek 5. Konfiguracja pamięci EEPROM

Rdzeń ADAU144x umożliwia pracę z podwójną lub poczwórną częstotliwością oscylatora, jednak wtedy proporcjonalnie zmniejsza się liczba instrukcji możliwych do wykonania podczas jednej próbki sygnału (dokładne opisy w karcie katalogowej).

Montaż

Płytka STK_ADAU144x "Mega DSP" jest zmontowany na niewielkiej, dwustronnej płytce drukowanej. Wszystkie sygnały GPIO oraz dla/z przetwornika są wyprowadzone na złącza szpilkowe umożliwiające wykorzystanie modułu jako "gotowego klocka DSP" we własnych projektach. Rozmieszczenie elementów przedstawia rysunek 3.

Sposób montażu jest klasyczny i nie wymaga opisu, należy tylko sprawdzić jego poprawność.

Rysunek 6. Schemat aplikacji testowej

Bardzo istotne jest poprawne przylutowanie padu termicznego ADAU1442.

Przed uruchomieniem należy wybrać kwarc w zależności od częstotliwości próbkowania, skonfigurować układ taktowania DSP zworami M0…M2, (GND/V33/GND) oraz ustalić tryb pracy ADAU144x zworą SBT (V33 Selfboot), w zależności od aplikacji.

Moduł wymaga zasilania ze źródła o wydajności 5 V/500 mA doprowadzonego do złącza I2C (z zasilacza zewnętrznego w docelowej aplikacji lub z programatora USBi podczas testowania oprogramowania).

Rysunek 7. Konfiguracja interfejsu SPDIF

Po poprawnym montażu należy sprawdzić obecność napięć zasilających 3,3 V i 1,8 V oraz obecność sygnału zegarowego na złączu CLKO. Jeżeli wszystko jest w porządku można przejść do uruchomienia Sigma Studio w celu przygotowania aplikacji testowej.

Do zaprogramowania ADAU144x konieczny jest interfejs USBi lub programator pamięci EEPROM (tylko w trybie Selfboot, rozwiązanie niewygodne, ale najtańsze). Po uruchomieniu środowiska w okienku konfiguracji, w obszar roboczy musimy przeciągnąć, połączyć i skonfigurować elementy USB, ADAU144x oraz E2PROM, zgodnie z rysunkiem 4.

W zależności od zastosowanej pamięci EEPROM (w modelu 24FC/LC256), jest konieczne określenie jej wewnętrznej konfiguracji za pomocą zakładki IC2-E2Prom/Properties (rysunek 5).

Rysunek 8. Konfiguracja taktowania ADAU144x

Należy określić wielkości pamięci, rozmiaru bloku oraz częstotliwości magistrali I2C (dostępne od wersji 3.9 Sigma Studio), w przeciwnym wypadku programowanie EEPROM może być niemożliwe lub nieprawidłowe.

W roli aplikacji testowej wykorzystamy generator sygnału sinusoidalnego 1 kHz, ale wykorzystujący jako wyjście interfejs SPDIF (jest to blok niewystępujący w ADAU1701). Schemat blokowy aplikacji przedstawia rysunek 6. Konieczne jest ustawienie częstotliwości próbkowania na 44,1 kHz (kwarc 11,2896 MHz, fs×256). Teraz jest wymagane skonfigurowanie zegarów oraz interfejsu SPDIF procesora ADAU1442 (w modelu zastosowano tańszy ADAU1445, lecz nie ma to wpływu na działanie aplikacji testowej) zgodnie z rysunkiem 7 i rysunkiem 8.

Po zapisaniu i skompilowaniu projekt jest gotowy do zaprogramowania pamięci EEPROM (plik *.hex w katalogu IC2 projektu), sprawdzenia w czasie rzeczywistym za pomocą USBi lub zaprogramowania pamięci EEPROM poprzez USBi (rysunek 9 i rysunek 10).

Rysunek 9. Programowanie pamięci EEPROM za pomocą programatora USB

Rysunek 10. Ekran programu umożliwiającego zapis pamięci przez I2C

Poprawność zaprogramowaniu warto sprawdzić za pomocą opcji "Check last compilation vs E2PROM", Po wyłączeniu zasilania można układ podłączyć do zewnętrznego przetwornika C/A, a jego wyjścia audio - uwaga na poziom sygnału, koniecznie należy wyciszyć wzmacniacz przed testem - do wzmacniacza. Po włączeniu zasilania powinien być słyszalny sinus 1 kHz w obu kanałach C/A. A skoro wszystko działa, to MEGA DSP można poddać znacznie bardziej wymagającym testom...

Adam Tatuś, EP

Artykuł ukazał się w
Elektronika Praktyczna
marzec 2014
DO POBRANIA
Pobierz PDF Download icon
Materiały dodatkowe
Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik maj 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio czerwiec 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje maj 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna maj 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich maj 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów