AudioDSP jest przystępną cenowo platformą sprzętową dla procesora sygnałowego Analog Devices ADAU1701A z rodziny Sigma DSP. Zestaw wraz z programatorem USBi i darmowym środowiskiem Sigma Studio umożliwia obróbkę sygnału audio zarówno ze źródeł analogowych jak i cyfrowych (SPDIF/I2S).
Modułowa budowa zestawu AudioDSP umożliwia elastyczne dopasowanie zasobów sprzętowych do wymogów aplikacji, ułatwiając szybką rozbudowę funkcjonalną przy zastosowaniu modułów własnego pomysłu lub gotowych z oferty AVT, Kamami czy Digilent.
Wygląd zestawu prezentuje fotografia 1 (główna). Pełny zestaw składa się z czterech modułów:
- płytki bazowej z procesorem DSP ADAU1701A_DSP,
- płytki interfejsu użytkownika ADAU1701A_GPIO,
- płytki interfejsu cyfrowego audio ADAU1701A_SPDIF (2 sztuki).
Dla rozpoczęcia pracy z AudioDSP konieczny jest jeszcze programator USBi (fotografia 2). Umożliwia on pełną konfigurację sprzętową ADAU1701A, symulację w czasie rzeczywistym oraz programowanie pamięci programu (EEPROM) zestawu oraz konfigurację poprzez magistrale I2C układów audio produkowanych przez Analog Devices.
Procesor
Aby w pełni wykorzystać zestaw AudioDSP konieczne jest zapoznanie się z budową blokową jego serca, czyli procesora DSP. Układ ADAU1701A jest nie tylko procesorem DSP, ale całym zintegrowanym systemem cyfrowej obróbki sygnału audio, wyposażony w przetworniki AD/DA, uniwersalne porty GPIO oraz cyfrowe interfejsy audio. Współpracuje z zewnętrzną pamięcią programu EEPROM I2C, dzięki czemu możliwa jest budowa systemu obróbki sygnału audio, bez zewnętrznego procesora sterującego i przy zastosowaniu niewielkiej liczby elementów.
Schemat wewnętrzny układu ADAU1701 pokazano na rysunku 3. Jego najistotniejsze cechy to:
- wydajność na poziomie 50 MIPS, 28/56 bitowy rdzeń DSP,
- wbudowany oscylator i konfigurowalny blok PLL,
- obsługa częstotliwości próbkowania do 192 kHz,
- wbudowane dwa przetworniki ADC 24 bitowe (SNR 100 dB),
- wbudowane cztery przetworniki DAC 24 bitowe (SNR 104 dB),
- dwukierunkowy interfejs cyfrowy (8 kanałów), z możliwością elastycznej konfiguracji dwukanałowego cyfrowego interfejsu szeregowego (I2S, LJ, RJ) oraz wielokanałowego trybu multipleksowanego czasowo (TDM),
- programowalne GPIO, w tym cztery wejścia analogowe, dla realizacji interfejsów użytkownika, bez konieczności zastosowania procesora zewnętrznego,
- obsługa zewnętrznej pamięci programu i konfiguracji I2C EEPROM,
- możliwa samodzielna praca DSP (tryb SELFBOOT), bez zewnętrznego procesora sterującego,
- tryb WriteBack, umożliwiający zachowanie parametrów aplikacji DSP w pamięci EEPROM przy pracy samodzielnej, podczas zaniku zasilania,
- zasilanie 3,3 V, wbudowany stabilizator dla zasilania rdzenia DSP 1,8 V,
- konfiguracja i programowanie za pomocą intuicyjnego graficznego środowiska Sigma Studio.
Opis elementów zestawu
Schemat blokowy zestawu, ilustrujący przepływ sygnałów audio, sterujących oraz połączenia pomiędzy poszczególnymi modułami przedstawia rysunek 4. Podstawą zestawu jest płytka bazowa ADAU1701A_DSP, której wygląd pokazano na fotografii 5 a schemat na rysunku 6. Umożliwia bezpośrednią obróbkę analogowego sygnału audio z próbkowaniem 44,1 kHz dla wlutowanego rezonatora 11,2896 MHz lub 48 kHz dla rezonatora 12,288 MHz. Zwora MCLK umożliwia wybór źródła taktowania DSP – z wbudowanego rezonatora lub zewnętrznym sygnałem MCLK np. z modułu interfejsu cyfrowego (złącze I2SI). Buforowany sygnał zegarowy MCLK doprowadzony jest na złącze I2SO i można wykorzystać go do taktowania zewnętrznych układów DAC, np. cyfrowych wzmacniaczy mocy, nie posiadających własnego oscylatora. Dwie zwory M0 i M1 ustawiają mnożnik pętli PLL rdzenia DSP.
Płytka AudioDSP wyposażona jest w dwa wejścia analogowe (stereo) i cztery wyjścia analogowe (dwa kanały stereo) o poziomie liniowym. Sygnały audio doprowadzone są do DSP poprzez gniazda mini Jack 3,5 mm stereo oraz dodatkowo wraz z zasilaniem 5 VDC wyprowadzone na złącza szpilkowe IN1A, OUT1A, OUT2A. Ułatwia to podłączenie zgodnych modułów rozszerzeń m.in. dla przedwzmacniaczy, mikrofonów MEMS, wzmacniaczy mocy SSM itp.
Wszystkie porty ADAU1701A wyprowadzono na złącza szpilkowe (R=2,54 mm) i pogrupowano funkcjonalnie na port sterujący GPIO, wejście I2SI oraz wyjście I2SO sygnału cyfrowego interfejsu audio.
Płytka wyposażona jest w złącze magistrali I2C w standardzie 3,3 V, zgodne m.in. z modułem ADUCino360, oraz port UPC udostępniający sygnały niezbędne do sterowania DSP także poprzez zewnętrzny mikrokontroler.
Wbudowana pamięć EEPROM typu 24LC256 przechowuje program i dane aplikacji w trybie samodzielnym (SELFBOOT) zwalniając z konieczności sterowania DSP zewnętrznym mikrokontrolerem.
Wszystkie złącza rozszerzeń posiadają wspólną magistralę I2C ułatwiającą konfigurowanie DSP oraz współpracujących układów zewnętrznych. Płytka posiada wbudowany niskoszumny stabilizator 3,3 V typu ADP3338 zasilający procesor ADAU1701A. Napięcie 1,8 V zasilające rdzeń DSP stabilizowane jest w obwodzie tranzystora Q1. Podczas programowania zestaw zasilany jest z programatora USBi. W przypadku pracy samodzielnej w docelowej aplikacji przewidziano dodatkowe gniazdo zasilające mikro USB (5 V/500 mA lub większej dobranej w zależności od poboru mocy modułów rozszerzeń). Led PWR sygnalizuje obecność zasilania 5 V.
Na płytce znajdują się także dwa obwody pomocnicze. Pierwszy ADM811 generuje sygnał RESET (RES), z możliwością zdalnego wyzwolenia poprzez programator USBi oraz manualnie z przycisku RES. Drugi obwód oparty o ADM812, odpowiada za automatyczne generowanie sygnału WriteBack (WB) informującego DSP o zaniku zasilania i uruchamiającego procedurę zapisu parametrów i konfiguracji aplikacji do pamięci nieulotnej EEPROM. Zwory SBT (Selfboot) oraz WP (Write Protect) konfigurują tryb pracy DSP.
Drugim elementem zestawu jest płytka interfejsu użytkownika – DSP ADAU1701A_GPIO, której wygląd prezentuje fotografia 7. Procesor ADAU1701, posiada programowalne, wielofunkcyjne wyprowadzenia we/wy GPIO umożliwiające sterowanie pracą programu za pomocą zewnętrznych sygnałów analogowych i cyfrowych oraz podstawowe dwustanowe sterowanie układów współpracujących. Pozwala to na rezygnację z zastosowania zewnętrznego procesora sterującego nawet w złożonych aplikacjach.
Płytka DSP ADAU1701A_GPIO posiada wbudowane typowe manipulatory GPIO, takie jak cztery przyciski, dwa przełączniki suwakowe, cztery potencjometry oraz dwie buforowane diody LED. Połączenie płytek DSP i GPIO nie wymaga dodatkowych przewodów, płytkę rozszerzeń GPIO montuje się korzystając z gniazda GPIO, bezpośrednio na płytce bazowej DSP (fotografia 1).
Schemat płytki pokazano na rysunku 8. Potencjometry RV1, RV2 podłączone są na stałe do wyprowadzeń GPIO2 i 3. Potencjometry RV3, RV4 współdzielą porty MP8 i 9 z przyciskami chwilowymi PB3 i 4, wybór aktywnej funkcji możliwy jest zworami MP8 i 9. Porty MP0 i 1 połączone są z przyciskami chwilowymi PB1 i PB2 z równolegle połączonymi przełącznikami suwakowymi SW1 i SW2. Porty MP0 i 1 wyposażone są także w diody LED sygnalizujące ich stan, gdy pracują jako wyjścia. Bufory są niezbędne, gdyż wydajność prądowa ADAU1701 jest niewielka, koniecznie trzeba o tym pamiętać w przypadku używania wyjść GPIO we własnej aplikacji. Szeregowe rezystory 470 Ω chronią przed skutkami błędnej konfiguracji. Wyprowadzenia GPIO pracują w standardzie napięciowym 3,3 V, przekroczenie tego napięcia trwale uszkodzi procesor.
Trzecią i ostatnią płytką zestawu jest płytka interfejsu ADAU1701_SPDIF (2 sztuki), której wygląd prezentuje fotografia 9. Płytka powstała, aby umożliwić bezpośrednią obróbkę sygnału cyfrowego w standardzie SPDIF (ADAU1701A nie posiada wbudowanego interfejsu SPDIF). Schemat modułu pokazano na rysunku 10.
Moduł jest konfigurowalny i realizuje funkcje odbiornika lub nadajnika. Bazuje na popularnym układzie WM8804. Zwory konfiguracyjne umożliwiają wprowadzenie WM8804 w tryb pracy samodzielnej lub konfigurowanej przez I2C, określają standard transmisji szeregowej oraz konfigurują tryb odbiornik-nadajnik SPDIF. Diody LED sygnalizują aktualny status WM8804. Po konfiguracji modułu SPDIF w funkcji odbiornika podłączamy go z lewej strony DSP (gniazda we/wy na górnej krawędzi) do złącza I2SI płytki DSP. W tym przypadku pełni także funkcję generatora sygnału zegara MCLK, pracując jako urządzenie master.
W funkcji nadajnika moduł SPDIF łączymy z prawej do gniazda I2SO, w tym przypadku pracuje on jako urządzenie slave, korzystając z sygnałów zegarowych generowanych przez DSP.
Adam Tatuś
adam.tatus@ep.com.pl