- Obróbka sygnału z częstotliwością próbkowania do 192 kHz.
- 4 przetworniki A/C o rozdzielczości 24 bitów, 2 przetworniki C/A również o rozdzielczości 24 bitów.
- Tor audio o małej latencji.
- Wbudowane obwody polaryzacji dla mikrofonów elektretowych.
- Wbudowany driver dla słuchawek (do 30 mW przy 16 V).
- 4 bloki wzmacniacza o programowym wzmocnieniu (PGA) w torze przetwornika A/C.
- Dwukierunkowy interfejs I2S, TDM.
- Możliwość współpracy z mikrofonem z interfejsem cyfrowym.
- Wbudowany modulator PDM dla wzmacniaczy cyfrowych.
- 7 konfigurowalnych GPIO.
- Tryb selfboot umożliwiający pracę bez zewnętrznego mikrokontrolera.
- Napięcie zasilania z zakresu 1,8…3,3 V, pobór mocy nieprzekraczający 50 mW.
- Łatwe programowanie za pomocą środowiska graficznego Sigma Studio (od wersji 3.14).
Na łamach „Elektroniki Praktycznej” opisywałem kilka przedwzmacniaczy mikrofonowych. W tym projekcie pierwszy raz do obróbki sygnału z mikrofonu zastosowałem procesor sygnałowy typu ADAU1772. Jest on dobrze znany czytelnikom chociażby z lektury artykułów lub projektu PicoDSP.
Procesor ADAU1772
Procesor jest kompletnym systemem audio typu SoC (rysunek 1). Zintegrowano w nim nie tylko rdzeń DSP, ale także kodek audio z przedwzmacniaczami, blokami programowalnego wzmocnienia PGA oraz pomocniczymi modułami peryferyjnymi, takimi jak np. obwody polaryzacji mikrofonów pojemnościowych. Układ ADAU1772 jest przeznaczony głównie do aplikacji mobilnych, w których jest niezbędna podstawowa obróbka sygnału audio, taka jak: korekta pasma przenoszenia, filtrowanie zaburzeń, miksowanie oraz ograniczanie poziomu sygnału audio. Opisywany przedwzmacniacz może być bazą testową dla układów formowania wiązki z dwóch mikrofonów (Beam-Forming), eksperymentów z aktywnym tłumieniem zakłóceń, budowy mikrofonu z aktywnym tłumieniem szumów (Active Noise Cancellation) lub mikrofonu stereofonicznego. Takich możliwości nie ma żaden z modułów przeznaczonych do współpracy z mikrofonem.
Przedwzmacniacz mikrofonowy z procesorem DSP, którego schemat ideowy zaprezentowano na rysunku 2, opracowano jako uniwersalny blok funkcjonalny. Współpracuje z dwoma typowymi, miniaturowymi mikrofonami pojemnościowymi i ma dwa wyjścia liniowe. Ze względu na niewielki pobór mocy moduł może być zasilany z akumulatora Li-Po lub trzech połączonych szeregowo ogniw AA, co ułatwia zastosowania mobilne. Funkcjonalność jest definiowana programowo, a program jest zapamiętany w pamięci nieulotnej EEPROM.
Budowa przedwzmacniacza
Sercem płytki są procesor ADAU1772 (U1) i współpracująca z nim pamięć programu EEPROM typu 24LC32 (U2) z interfejsem I2C. Po skonfigurowaniu trybu selfboot moduł może pracować samodzielnie bez procesora nadzorującego jego pracę (wyciągnięta zwora SB). W zasilaczu zastosowano 3-woltowy stabilizator LDO typu ADP160AUJZ-3.0 (U3), umożliwiający zasilanie zestawu napięciem stałym z zakresu 3,2…5,5 V.
Zestaw ma dwa gniazda wejściowe dla mikrofonów pojemnościowych MICA i MICB. Polaryzację mikrofonów zapewnia wbudowany w DSP blok zasilacza o napięciu wyjściowym (AVDD) ustawianym na 0,6 V lub 0,95 V. Rezystory R3 i R4 polaryzują mikrofony, a kondensator C4 filtruje ich zasilanie. Wydajność prądowa jest wystarczająca do zasilania kilku mikrofonów, więc można eksperymentować z ich połączeniem równoległym (na przykład 4 sztuki równolegle) w celu podwyższenia czułości lub obniżenia poziomu szumów. Sygnał wyjściowy (liniowy) jest dostępny na złączu OUT. Kondensatory C13 i C18 separują wyjścia od składowej stałej z DSP. Taktowanie DSP zapewnia wbudowany generator współpracujący z kwarcem XT o częstotliwości 12,288 MHz. Rezystory R8 i R9 zasilają magistralę I2C.
Układ jest programowany oraz konfigurowany tak, jak pozostałe procesory sigma DSP, to znaczy za pomocą interfejsu USBi. Ze względu na konieczność zachowania niewielkich wymiarów płytki drukowanej zrezygnowano z typowego złącza USBI (IDC10) na rzecz miniaturowego złącza PWR i kabla IDC10-JST5 (R=2 mm), służącego do doprowadzenia zasilania i sygnałów interfejsu I2C podczas programowania. Programator zapewnia zasilanie podczas testowania aplikacji. W układzie docelowym zasilanie VUSB (3,2…5,5 V) musi być doprowadzone do pinów 1+3 złącza PWR.
Montaż
Układ zmontowano na niewielkiej, dwustronnej płytce drukowanej – jej schemat montażowy pokazano na rysunku 3. Podczas montażu należy zadbać o poprawne przylutowanie pada termicznego procesora DSP.
Do programowania, a raczej konfigurowania układu ADAU1772 służy Sigma Studio w wersji od 3.14, które jest udostępnione za darmo, wymaga jedynie rejestracji na stronie producenta. Jest to środowisko graficzne, w którym „rysujemy” schemat z gotowych, parametryzowanych bloków funkcjonalnych oraz określamy konfigurację sprzętową procesora. Po poprawnym zainstalowaniu oprogramowania i sterowników USB jest możliwe rozpoczęcie pracy z modułem przedwzmacniacza. Po skonfigurowaniu układu procesora i pamięci zestawu konieczne jest przejście od konfiguracji DSP zgodnie z rysunkami 5…9 do „wyrysowania” aplikacji (rysunek 10) oraz zaprogramowania pamięci EEPROM (zwora SB zwarta) według rysunku 11. Po zaprogramowaniu, wyłączeniu zasilania, zdjęciu zwory SBT i podaniu zasilania zewnętrznego procesor DSP realizuje funkcje już bez pomocy USB i i środowiska Sigma Studio.
Funkcjonalność płytki została określona aplikacją pokazaną na rysunku 10. Sygnały z wejść mikrofonowych MICA i MICB są sumowane i podawane na blok filtrów (rysunek 12). Dopasowanie wzmocnienia toru odbywa się poprzez zmianę wzmocnienia bloku PGA i załączenie dodatkowego wzmacniacza PGA0/1 Boost +10 dB w konfiguracji ADC/PGA z rysunku 7. W tej zakładce jest aktywowany blok zasilacza polaryzacji mikrofonów i zostaje określone napięcie polaryzujące.
Blok filtrów składa się z kaskady filtrów dolno- i górnoprzepustowych, których realizacja analogowa wymagałaby zastosowania kilkunastu elementów. Dla poprawienia zrozumiałości mowy w bloku są odfiltrowywane niskie i wysokie częstotliwości składowe. Ze względu na brak multiplekserów w bibliotekach ADAU1772 na czas testów filtry „bypass” zrealizowano za pomocą bloków wyciszania Mute i sumatora. Odfiltrowany sygnał jest podawany na regulator poziomu, a stąd do bloku ogranicznika poziomu (limitera), który do poprawnego działania wymaga aktywacji w konfiguracji rdzenia DSP (rysunek 6). Zadaniem limitera jest ograniczenie wzmocnienia sygnału po przekroczeniu progu Treshold przez czas dłuższy od Attack Step. Z limitera sygnał jest doprowadzony do filtru dolnoprzepustowego, eliminującego ewentualne „ostre” skutki pracy limitera. Ostatnim blokiem jest wyjściowy regulator poziomu i rozdzielacz sygnału na dwa wyjścia.
Uwaga! W tym miejscu warto wspomnieć o przeznaczonym dla ADAU1772 rozdzielaczu sygnału T-Block, dostępnym w bibliotece Other System CellsT ConnectT Connection 1772, ponieważ standardowy blok T Connection nie działa z procesorem ADAU1772. Ta drobna różnica może skutkować nieprzewidywalnym zachowaniem się aplikacji, ponieważ Sigma Studio nie sygnalizuje tego jako błąd.
Przepływ sygnału przez procesor jest standardowy, to jest sygnały z ADC0 i ADC1 są doprowadzone do rdzenia DSP, skąd po obróbce są wysyłane do DAC0 i DAC1 zgodnie z rysunkiem 8. Przetworniki C/A są aktywne i skonfigurowane do pracy jako wyjście liniowe (rysunek 9).
Na schemacie z rysunku 10 są widoczne bloki Stimuls i Probe, które pozwalają na symulowanie charakterystyki przenoszenia amplitudy i fazy sygnału, pomocne podczas uruchamiania układu, szczególnie jeśli wykorzystujemy filtry cyfrowe. Przykład symulacji działania filtru mowy pokazano na rysunkach 12 i 13. Oczywiście przykładowa aplikacja nie wyczerpuje możliwości układu ADAU1772, a stanowi tylko szablon i zachętę do własnych eksperymentów z jednym z najprostszych procesorów rodziny Sigma DSP. Kompletna dokumentacja ADAU1772 jest dostępna na stronie producenta oraz na stronie wsparcia technicznego https://ez.analog.com.
Adam Tatuś, EP
- R1, R7, R12: 100 Ω
- R2, R5, R10: 10 kΩ
- R3, R4, R8, R9: 2,2 kΩ
- R6, R11: 47 kΩ
- C1, C2: 22 pF
- C3, C4, C8, C11, C13, C14, C16, C18: 2,2 μF
- C5…C7, C9, C10, C12, C15, C17: 100 nF
- U1: ADAU1772BCPZ (LFCSP40)
- U2: 24LC32A (MSOP8)
- U3: ADP160AUJZ-3.0 (SOT-23-5)
- FB: 1 μH (dławik 1 μH/150 mA, SMD 0805)
- MICA, MICB, OUT, PWR: złącze JST R=2 mm, proste
- SB: złącze SIP2, R=2 mm + zwora
- X1: rezonator kwarcowy 12,288 MHz