SAR - amplituner stereofoniczny (1)

SAR - amplituner stereofoniczny (1)
Pobierz PDF Download icon
Projekt amplitunera chodził za mną od dłuższego czasu, ale zawsze było coś ważniejszego do zrobienia, więc musiał nabrać mocy urzędowej. Nie bez znaczenia był w tym wypadku fakt, że z założenia chciałem przygotować rozwiązanie kompleksowe, funkcjonalne i estetyczne, a to wymaga znacznie więcej czasu i wysiłku. Rekomendacje: samodzielnie wykonany amplituner może przydać się w roli centralnego komponentu zestawu muzycznego, wokół którego można gromadzić inne elementy (odtwarzacz CD, przetwornik D/A itp.).

Istotny wpływ na efekt końcowy ma estetyczna, trwała obudowa. W związku z tym, że jej samodzielne wykonanie jest poza zasięgiem większości majsterkowiczów, ponieważ wymaga posiadania specjalistycznych narzędzi, musiałem znaleźć sprawdzoną firmę, która gwarantowałaby wykonanie niedrogiej, lecz solidnej i estetycznej obudowy, aby gotowe urządzenie nie ustępowało pod względem wyglądu rozwiązaniom znanym z półek sklepowych. Stosowny kontakt pozyskałem znacznie wcześniej, bo projektując programowalny zasilacz powerBank, tak wtedy, jak i teraz zwróciłem się do firmy „Foster” o pomoc w realizacji tego zadania, a dzięki współpracy z panem Mateuszem Świdowiczem powstał projekt amplitunera stereofonicznego, który nazwałem SAR – Stereo Audio Receiver. Ponadto, jako że moja wiedza w zakresie projektowania urządzeń audio jest podstawowa, tę czę?? implementacji powierzy?em swojemu d?ugoletniemu koledześć implementacji powierzyłem swojemu długoletniemu koledze Markowi Kępińskiemu, który, zjadł zęby na naprawach i aplikacjach estradowego sprzętu muzycznego. Pierwszym wyzwaniem, z którym musiałem się zmierzyć, był dobór odpowiednich podzespołów, ponieważ chciałem, aby amplituner charakteryzował się bardzo dobrymi parametrami i funkcjonalnością użytkową.

Biorąc wymagania wymienione w ramce „podstawowe parametry” jako podstawę do prac projektowych, wykonałem ogólny, blokowy schemat urządzenia, który pokazano na rysunku 1. Sercem audio amplitunera jest scalony selektor wejść (integrujący również regulator barwy dźwięku) TDA7418, który jest sterowany za pomocą interfejsu I2C. Do dwóch wejść selektora doprowadzono sygnały z wejść CD oraz AUX. Do kolejnych dołączono wyjścia modułu Bluetooth i scalonego odbiornika FM. Wspomniany moduł Bluetooth to rozwiązanie dostarczane przez firmę Flaircomm, który jest kontrolowany za pomocą komend AT odbieranych przez UART. Moduł ten zapewnia transmisję bezprzewodową dźwięku o wysokiej jakości.

Muszę w tym momencie zaznaczyć, że znalezienie niedrogiego modułu Bluetooth wspierającego profil A2DP i zapewniającego wysoką jakość dźwięku wcale nie było zadaniem łatwym, bo o ile wielu producentów dostarcza tego rodzaju rozwiązania, o tyle sporo z nich albo nie wspiera komend AT, albo ich cena jest zniechęcająca. Co więcej, chciałem, by użyty moduł Bluetooth wspierał technologię aptX, która zapewnia stereofoniczne połączenie bezprzewodowe o jakości Hi-Fi. Wynika to z użytej metody kompresji danych, która nie korzysta z mechanizmu maskowania dźwięków, jak ma to miejsce w przypadku formatu mp3 lub nawet nie korzysta w ogóle z jakiejkolwiek kompresji dźwięku, wykorzystując kodek aptX Lossless (aptX-HD), który zapewnia pasmo przenoszenia większe od 20 kHz i dynamikę 120 dB.

Wracając do tematu, do ostatniego z wejść układu TDA7418 dołączono scalony odbiornik FM firmy Silicon Laboratories (Si4703), który zawiera tuner radiowy sterowany przy użyciu interfejsu I2C. Dwa niezależne wyjścia układu TDA7418 przyłączono do wejść doskonałych, scalonych końcówek mocy LM3886 i do wejścia scalonego wzmacniacza słuchawkowego TDA2822. Warto również podkreślić, że z uwagi na wymóg dostępności trybu obniżonego poboru mocy (czuwania) gruntownego przemyślenia wymagała implementacja układu zasilania. W projekcie urządzenia wyodrębniono dwa funkcjonalne moduły zasilania: wysokonapięciowy mocy (HV-POWER SUPPLY) zbudowany z użyciem transformatora toroidalnego o dużej mocy, przeznaczony do zasilania wzmacniacza audio i wyłączany w trybie czuwania oraz niskonapięciowy (LV-POWER SUPPLY) zapewniający zasilanie pozostałych elementów składowych urządzenia, dostarczający napięć 3,3 V i 9V. Napięcie 9 V również jest wyłączane w trybie obniżonego poboru mocy, ponieważ zasila odbiorniki o dość znacznym poborze prądu, tj. selektor i wzmacniacz słuchawkowy. Dodatkowo, przewidziano specjalny obwód MUTE zbudowany w obrębie zasilacza wysokonapięciowego, którego zadaniem jest wyciszanie końcówek mocy podczas załączania/wyłączania amplitunera. Co więcej, obwód MUTE jest aktywowany także przez gniazdo słuchawkowe zamontowane na panelu przednim urządzenia.

Pracą całego urządzenia steruje odrębny moduł panelu sterującego, jednocześnie będący bazowym elementem konstrukcyjnym płyty czołowej, którego sercem jest mikrokontroler ATmega164P. Uproszczony schemat blokowy panelu sterującego zamieszczono na rysunku 2. Wykorzystano większość peryferii, jakimi dysponuje zastosowany mikrokontroler, przy czym ich szczegółowe użycie przedstawia się następująco:

PORTA wykorzystano do programowej implementacji interfejsu SPI niezbędnego z punktu widzenia sterowania pracą graficznego wyświetlacza LCD o rozdzielczości 128×64 piksele, wyposażonego w popularny sterownik ekranu zgodny z układem ST7565 firmy Sitronix.

PORTB wykorzystano do programowej obsługi klawiatury matrycowej stanowiącej element interfejsu użytkownika, przy czym, co ważne, wspomniana obsługa eliminuje zjawisko drgania styków oraz dodatkowo zapewnia obsługę krótkiego i długiego przyciśnięcia każdego z przycisków, angażując do tego celu licznik Timer0 mikrokontrolera i jego przerwanie wywoływane co 10 ms.

PORTC wykorzystano, jak poprzednio, do programowej obsługi podświetlenia przycisków klawiatury matrycowej stanowiącej element interfejsu użytkownika, wykorzystując to samo przerwanie licznika Timer0, jak i mechanizm programowej generacji przebiegów PWM (w celu regulacji jasności podświetlenia wybranego przycisku) oraz do obsługi sygnału STBY przełączającego amplituner w tryb niskiego poboru mocy.

PORTD wykorzystano, po pierwsze, do obsługi enkodera obrotowego VOLUME/TUNE służącego do regulacji głośności oraz obsługi strojenia radioodbiornika FM (wespół z przerwaniem zewnętrznym INT0 inicjowanym opadającym zboczem na wejściu INT0 mikrokontrolera), zaś po drugie, do obsługi odbiornika podczerwieni TSOP34838, który dzięki wykorzystaniu przerwania od przechwycenia zawartości licznika Timer1 (ICP1) wyzwalanego zmianą stanu na pinie ICP1 mikrokontrolera realizuje obsługę pilota podczerwieni standardu RC5.

Przetwornik A/C, wyzwalany 30 razy na sekundę (czyli 10 razy na potencjometr; z przerwania licznika Timer2), służy do pomiaru ustawień potencjometrów odpowiedzialnych za regulację barwy dźwięku BASS/MIDDLE/TREBLE i stosowną reakcję (wysłanie danych do układu TDA7418) wykorzystującą interfejs I2C.

Przerwanie zewnętrzne INT1 inicjowane opadającym zboczem na wejściu PD3 jest odpowiedzialne za obsługę (z użyciem magistrali I2C) komunikatów wysyłanych przez układ scalony radioodbiornika Si4703, w tym komunikatów dotyczących strojenia układu czy informacji systemu RDS.

Interfejs USART mikrokontrolera (prędkość 115 kbps) i stosowne przerwania (TX/RX), dzięki nim zrealizowano obsługę komend AT modułu Bluetooth, czyli de facto, obsługę sprzęgu Bluetooth.

Panel sterujący

Schemat ideowy panelu sterującego pokazano na rysunku 3. Jest to nieskomplikowany system z mikrokontrolerem ATmega164P taktowany zewnętrznym rezonatorem kwarcowym o częstotliwości 3,6864 MHz dla zapewnienia dokładności i stabilności transmisji USART. Z uwagi na fakt, że we wcześniejszych swoich projektach wykorzystywałem zastosowany w amplitunerze wyświetlacz LCD (projekt „powerBank”) czy scalony odbiornik FM Si4703 (projekty „pocketRadio” i „Radio”), nie będę wdawał się w szczegóły implementacji programowej tych podzespołów, a skupię się wyłącznie na przedstawieniu podstawowych funkcji obsługi scalonego selektora wejść i regulatora barwy dźwięku TDA7418 firmy STMicroelectronics, ponieważ dotychczas nie był on przedmiotem takiego opisu.

W układzie TDA7418 zastosowano cyfrowe filtry aktywne z przełączaną pojemnością. W rezultacie otrzymano układ o bardzo elastycznych możliwościach regulacyjnych (możliwość programowej zmiany częstotliwości środkowej filtrów, regulacji ich dobroci Q, doskonałe parametry elektryczne), pozbawiony konieczności stosowania zewnętrznych elementów RC. Nie będę w tym miejscu wdawał się w szczegółowy opis funkcjonalności układu, ponieważ wykroczyłby on poza ramy artykułu. Skupię się na implementacji programowej w języku C. Komunikacja z układem procesora audio odbywa się za pośrednictwem interfejsu I2C, przy czym maksymalna prędkość transmisji nie może przekraczać 500 kbit/s. Wygląd ramki danych z opisem znaczenia poszczególnych bitów pokazano na rysunku 4. W celu identyfikacji parametru poddawanego regulacji wprowadzono dodatkowy bajt nazwany „Subaddress”, po którym następuje transmisja właściwej wartości dla wybranej funkcji. Jak w wielu układach sterowanych przez I2C, istnieje możliwość włączenia autoinkrementacji bajtu „Subaddress” i wysłania wielu następujących po sobie bajtów danych dla kolejnych funkcji, począwszy od funkcji o numerze wysłanym przy pierwszym podaniu parametru „Subaddress”. Listę możliwych wartości parametru „Subaddress” z opisem realizowanych przez nie funkcji umieszczono w tabeli 1. Dla każdej z funkcji przesyłane dane mają inne znaczenie, ale podanie wszystkich tabel wykraczałoby poza zakres artykułu i nie ma sensu, ponieważ dokumentacja producenta jest w tej kwestii bardzo przejrzysta.

Pora na przedstawienie implementacji programowej. Jak zwykle zacznę od pokazania pliku nagłówkowego, który zawsze staram się pisać w taki sposób, by do minimum ograniczyć konieczność sięgania do dokumentacji sterowanego układu. Zawartość pliku nagłówkowego biblioteki funkcji obsługi układu TDA7418 zamieszczono na listingu 1. Wprowadzono nowy typ strukturalny TDA7418config oraz stosowną zmienną globalną TDA7418, która przechowuje najważniejsze i interesujące nas ustawienia procesora TDA7418. Pora na podstawową funkcję inicjalizacyjną, którą pokazano na listingu 2. Dalej, na listingach 3…5 pokazano podstawowe funkcje służące do: wyboru aktywnego wejścia selektora wejściowego układu TDA7418, regulacji tonów i regulacji głośności (dla wyjść A i B procesora).

Płyta główna

Schematu ideowy płyty głównej amplitunera SAR pokazano na rysunku 5. Centralnym elementem płyty głównej (części analogowej) amplitunera jest układ TDA7418 będący zaawansowanym procesorem audio pozwalającym na przełączanie wejść, regulację głośności, regulację barwy (trójpasmową), przełączanie wyjść (pomiędzy końcówkami mocy i wzmacniaczem słuchawkowym) i wyciszanie toru audio. Do układu są doprowadzone wszystkie analogowe sygnały wejściowe: z modułu Bluetooth, z tunera radiowego Si4703 oraz z wejść zewnętrznych AUX i CD. W zależności od decyzji użytkownika wybrany sygnał po odpowiednich modyfikacjach barwy i wzmocnienia jest przesyłany do toru wyjściowego – wzmacniaczy mocy lub wzmacniacza słuchawkowego.

Szczegółowe omówienie części analogowej rozpocznę od zasilacza, a w zasadzie zasilaczy, ponieważ jest ich kilka. Początkowo, po włączeniu urządzenia jest ono wprowadzane w tryb STANDBY, w którym jest uruchomiony wyłącznie zasilacz dostarczający napięcie 3,3 V przeznaczone dla układów cyfrowych. Pozostałe napięcia są włączane dopiero po właściwym uruchomieniu wzmacniacza (dla oszczędności zużycia energii). Sygnał STB z procesora powoduje włączenie (poprzez tranzystor T3) zasilacza dostarczającego napięcie 9 V do zasilania układów procesora audio (TDA7418), wzmacniacza słuchawkowego i wzmacniacza sygnału z modułu Bluetooth. Podobnie, sygnał STB (poprzez tranzystor T1) powoduje z kolei dostarczenie napięcia sieciowego do transformatora toroidalnego w celu zasilenia końcówek mocy. Elementem układu zasilania dużej mocy jest również układ wyciszania końcówek mocy w momencie włączania i wyłączania wzmacniacza (dla przeciwdziałania powstawaniu trzasków w głośnikach) oraz w przypadku użycia wzmacniacza słuchawkowego (włożenie wtyku słuchawkowego do gniazda HEADPHONES powoduje wyciszenie wzmacniaczy mocy). Układ wyciszania działa na zasadzie szybkiego ładowania i rozładowania kondensatora C14 przy włączeniu i wyłączeniu urządzenia. Tranzystor T4 funkcjonuje wtedy jako klucz podający napięcie odblokowujące końcówki mocy. Funkcjonalność ta uzależniona jest również od napięcia PH_SW uzyskanego z gniazda słuchawkowego.

Przejdźmy teraz do układów wejściowych. Sygnał z modułu Bluetooth jest doprowadzony do procesora audio poprzez wzmacniacz napięciowy (o wzmocnieniu 2) składający się z układu U6. Dodatkowy układ BIAS składający się z oporników R42, R43 i kondensatora C81 dostarcza pomocnicze napięcie (tzw. masę pozorną) dla wspomnianego układu U6, gdyż jest on zasilany pojedynczym napięciem +9 V. Z kolei sygnał z układu radiowego jest podłączony bezpośrednio do procesora audio. Wykorzystano tu również fakt, że każdy zestaw wejść układu TDA7418 ma możliwość niezależnej regulacji wzmocnienia, co pozwala programowo wyrównać sygnały o różnym poziomie. Wejścia sygnałowe AUX oraz CD są podłączone bezpośrednio do procesora audio z użyciem prostych filtrów zabezpieczających przed dostawaniem się wyższych częstotliwości na wejścia wspomnianego układu. Przechodząc do obwodów wyjściowych należy zauważyć, że procesor TDA7418 wyposażono w dwie niezależne pary wyjść sygnałowych. Sygnał z pierwszej pary jest przekazywany do końcówek mocy, natomiast sygnał z drugiej pary przekazywany jest do wzmacniacza słuchawkowego.

W tym miejscu chciałem podzielić się z czytelnikami doświadczeniami dotyczącymi projektowania obwodów analogowych, ponieważ uważam je za szczególnie przydatne w praktyce elektronika konstruktora. Aby przyśpieszyć projektowanie wspomnianych układów, kilka jego elementów zostało zasymulowanych w programie LTSpice. Jest to jeden z lepszych symulatorów dostępnych na rynku pod względem dokładności uzyskiwanych rezultatów oraz ceny – symulator jest bezpłatny. Dodatkowym atutem przemawiającym za tym symulatorem jest bardzo duża aktywność grupy użytkowników tego programu na portalu yahoo.com. Ułatwia to uzyskanie wsparcia w razie problemów z symulacjami. Jak zobaczycie, czasami symulacja pozwala podjąć konkretne decyzję, co do projektowanego układu, zanim układ zostanie faktycznie zbudowany.

Jeśli chodzi o samo symulowanie układów analogowych, często spotykam się z dwoma skrajnymi opiniami. Jedna grupa rozmówców twierdzi, że symulacje są bezużyteczne, ponieważ są niedokładne, natomiast druga grupa, że są bardzo dokładne i nawet mogą zastąpić testowanie rzeczywistego układu.

Robert Wołgajew, EP

Artykuł ukazał się w
Elektronika Praktyczna
luty 2018
DO POBRANIA
Pobierz PDF Download icon
Materiały dodatkowe

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik marzec 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio marzec - kwiecień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje marzec 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna marzec 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich kwiecień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów