- regulator poziomu zrealizowany na znanym i od wielu lat produkowanym układzie PGA2320 firmy Texas Instruments,
- aktywny układ regulacji tonów niskich i tonów wysokich z możliwością jego całkowitego ominięcia (bypass),
- selektor wejść z 3 wejściami stereofonicznymi przełączanymi miniaturowymi przekaźnikami sygnałowymi,
- zbudowany na bazie wzmacniaczy operacyjnych zoptymalizowanych do zastosowań audio,
- zawiera przetwornik cyfrowo-analogowy na bazie stosunkowo taniego i bardzo dobrego układu PCM1794A.
Przetwornik analogowo-cyfrowy
Układ przetwornika analogowo-cyfrowego jest zbudowany na bazie scalonego przetwornika PCM1794A wraz z układami zasilającymi, układu konwertera prąd/napięcie oraz układu rekonstruującego filtra dolnoprzepustowego. Schemat tej części przedwzmacniacza został pokazany na rysunku 12. Oprócz układu przetwornika umieszczono tu też odbiornik S/PDIF i złącze do podłączenia interfejsu USB/I²S.
Parametry PCM1794A są bardzo dobre:
- zakres dynamiki 127 dB dla sygnału stereo,
- zniekształcenia THD+N 0,0004%,
- rozdzielczość 24 bity,
- zaawansowany moduł konwertera cyfra/prąd,
- 8-krotne nadpróbkowanie we wbudowanym filtrze,
- częstotliwość próbkowania sygnału wejściowego od 10 kHz do 200 kHz,
- wyjście prądowe 7,8 mApp,
- interfejs danych wejściowych w formatach I²S, left justified,
- wydzielone wyprowadzenia masy i zasilania części cyfrowej +3,3 V (linie interfejsu akceptują poziomy +5 V) i części analogowej +5 V.
Schemat blokowy przetwornika jest pokazany na rysunku 13. Dane z interfejsu szeregowego są 8-krotnie nadpróbkowane w cyfrowym filtrze dolnoprzepustowym. Pozwala to uprościć analogowy dolnoprzepustowy filtr rekonstruujący, ponieważ może mieć szersze pasmo przepustowe i łagodną charakterystykę opadania.
PCM1794A nie ma szeregowego interfejsu pozwalającego na zapisanie ustawień i ewentualną cyfrową regulację poziomu sygnału przez mikrokontroler - host. Wszystkie możliwe konfiguracje są wykonywane przez wymuszanie stanów logicznych na wejściach konfiguracyjnych układu.
Cyfrowe dane audio są przesyłane 3-przewodowym interfejsem audio w formatach wybieranych przez stany wymuszane na wejściach FMT0 i FMT. Obecnie praktycznie używa się tylko formatu I²S i taki tu został na stałe ustawiony przez wymuszenie stanów niskich na FMT0 i FMT1. Wykonuje się to poprzez zwarcie pinów 5...6 i 7...8 w złączu konfiguracyjnym P12.
Synchroniczna magistrala danych audio jest zbudowana z trzech linii:
- linii danych (wejście DATA),
- linii identyfikacji kanałów stereo (wejście LRCK),
- linii zegarowej taktującej przesyłaniem danych (wejście BCK).
Częstotliwość na linii BCK jest 64 razy wyższa od częstotliwości LRCK. Dodatkowo przetwornik wymaga sygnału zegarowego MCLK (master Clock) o częstotliwości będącej standardową wielokrotnością zegara BCK. Wszystkie sygnały zegarowe: LRCK, BCK i MCLK, muszą być zgodne fazowo.
Sygnały z magistrali danych są przesyłane ze złącza P11 przez rezystory szeregowe R65, R68, R70, R71 o wartości 27 Ω. Złącze P11 umożliwia przełączanie za pomocą zworek sygnałów I²S z dwu źródeł: odbiornika S/PDIF DIR9001 - układ U15 lub konwertera USB/I²S z wyprowadzeniami w standardzie Amanero podłączanego do złącza P7. Konwerter również może generować sygnał zegara systemowego MCLK. Pierwotnie przewidywałem przełączanie tych sygnałów za pomocą dwu przekaźników, ale ostatecznie zrezygnowałem z tego pomysłu, żeby nie komplikować i tak rozbudowanego układu.
Zwarcie wyprowadzeń 1...2 złącza P12 powoduje wyciszenie wyjść analogowych przetwornika (MUTE), kiedy układy przetwornika nie wykryją cyfrowych danych audio. Zwarcie pinów 3...4 powoduje wyłączenie układu deemfazy przetwornika (zalecane).
Przetwornik jest zasilany napięciem +5 V w sekcji analogowej i +3,3 V w sekcji cyfrowej. Sekcja analogowa jest zasilana z trzech oddzielnych zasilaczy parametrycznych opartych na układzie TL431. To stosunkowo proste układowe rozwiązanie dostarcza osobnych napięć VCC2L, VCC2R i VCC. W założeniu ma to poprawić pracę sekcji analogowej przetwornika. Źródłem napięcia wejściowego zasilaczy parametrycznych jest stabilizowane przez układ LM317 napięcie +7 V. Napięcie +3,3 V do zasilania układów cyfrowych przetwornika i zasilania odbiornika S/PDIF pochodzi z niskoszumowego stabilizatora U18.
Przetwornik ma wyjście prądowe i do działania niezbędny jest zewnętrzny konwerter prąd-napięcie. Ten konwerter i dolnoprzepustowy filtr rekonstruujący zbudowane są na bazie rozwiązania zaproponowanego w danych katalogowych PCM1794A ze wzmacniaczami operacyjnymi OPA1611 i OPA1612 produkcji TI. Zostało ono przeze mnie wypróbowane w innych konstrukcjach i według mnie działa bardzo dobrze. W konwerterze I/U dla lewego kanału pracuje podwójny wzmacniacz operacyjny OPA1612 (U12). W kanale prawym jest to wzmacniacz U16.
W filtrze dolnoprzepustowym użyłem pojedynczych wzmacniaczy OPA1611 - dla kanału lewego U14, a dla kanału prawego U17. Wzmacniacze są zasilane symetrycznym napięciem ±12 V blokowanym dla każdego z układów parą kondensatorów: elektrolitycznym 10 μF/25 V i ceramicznym 100 nF. Jak już wiemy, wyjścia analogowe przetwornika są podawane na wejście selektora źródeł i dalej przesyłane w torze przedwzmacniacza tak jak inne sygnały wejściowe.
Źródłem cyfrowego sygnału audio dla przetwornika może być odbiornik S/PDIF typu DIR9001. To znany i bardzo dobry odbiornik z niskim jitterem. Maksymalna częstotliwość próbkowania sygnału wejściowego to 96 kHz. Dla zwolenników bardzo "gęstych" formatów to zbyt mało, ale w praktyce dla normalnego dotwarzania zupełnie wystarczy. Odbiornik ma wejście danych S/PDIF w standardzie TTL i dlatego konieczny jest konwerter poziomów ze standardu S/PDIF do TTL wykonany na zlinearyzowanych bramkach 74HCU04 - układ U19.
Wejścia PSCK0 i PSCK1 określają mnożnik częstotliwości zegara systemowego MCLK. Tu mamy ustawioną na stałe wartość fs×256. Dla fs= 44,1 kHz (standard CD) zegar MCLK będzie miał częstotliwość 11,2896 MHz. Wejścia FMT0 i FMT1 ustalają format danych wyjściowych. Jak wiemy, powinien być to I²S, ponieważ taki format danych wejściowych został ustalony w przetworniku PCM1794A.
Sterownik mikroprocesorowy
Sterownik w obecnej wersji oprogramowania ma do spełnienia następujące funkcje:
- ustawianie, wyświetlanie i zapamiętywanie poziomu głośności regulatora PGA2320,
- sekwencyjne przełączanie wejść selektora i zapamiętywanie pozycji selektora,
- włączanie/wyłączanie regulatora barwy i zapamiętywanie tej nastawy,
Schemat sterownika został pokazany na rysunku 14. Użyłem tu mikrokontrolera ATmega4808 produkowanego przez Microchip. To szybki i zaawansowany jak na 8-bitową jednostkę mikrokontroler. Został wybrany ze względu na stosunkowo dużą pamięć Flash o wielkości 48 kB. Ponieważ w układzie jest zastosowany kolorowy wyświetlacz graficzny, potrzeba sporo pamięci do przechowywania wzorców znaków. Nie bez znaczenia jest duża szybkość taktowania (max. 20 MHz) potrzebna do płynnego wyświetlania informacji na ekranie wyświetlacza. Mikrokontroler jest zasilany napięciem +3,3 V ze stabilizatora U2 i jego taktowanie nie powinno być wyższe niż 16 MHz, ale w praktyce pracuje stabilnie z taktowaniem 20 MHz. W tego typu urządzeniach można sobie na to pozwolić.
Zastosowany wyświetlacz kolorowy ma przekątną 1,8 cala i rozdzielczość 160×128 pikseli. Ma wbudowany scalony sterownik ST7735 i komunikuje się z hostem poprzez magistralę SPI zbudowaną z linii danych MOSI, zegarowej SCK, wyboru typu danych DC (dane pamięci obrazu lub komendy sterownika), wyboru interfejsu CS i zerowania interfejsu RST. Zastosowano tu sprzętowy interfejs SPI wbudowany w mikrokontroler pracujący z danymi 8-bitowymi i zegarem o częstotliwości 10 MHz. Linie CS, DC i RST są emulowane programowo.
Sterownik również wysyła dane do regulatora PGA2320 przez 16-bitową magistralę SPI zbudowaną z linii danych, zegarowej i wyboru interfejsu CS. Interfejs jest całkowicie emulowany programowo. Maksymalna częstotliwość zegara interfejsu cyfrowego PGA2320 to ponad 6 MHz, ale układ może pracować ze znacznie niższymi częstotliwościami. Pozwala to na prostą realizację galwanicznej izolacji sterownika od układów analogowych przedwzmacniacza. Zastosowałem do tego celu poczwórny transoptor TLP281-4 (lub jego odpowiednik). Sygnały interfejsu z portów mikrokontrolera są podłączone przez rezystory szeregowe 150 Ω ograniczające prąd do katod diod LED transoptorów. Stan niski na linii powoduje przepływ prądu przez diodę i wprowadzenie tranzystora transoptora w stan nasycenia. Nasycony tranzystor zwiera obwód C-E i wymusza stan niski na kolektorze tranzystora. Stan wysoki na linii mikrokontrolera blokuje przepływ prądu przez diodę transoptora i jego tranzystor wchodzi w stan odcięcia. Wtedy na kolektorze pojawia się stan wysoki wymuszony przez rezystor podłączony do napięcia +5 V pobieranego ze stabilizatora U5 umieszczonego na płytce przedwzmacniacza i zasilającego cyfrowe układy PGA2320. Galwanicznie izolowane od masy części analogowej sterowanie przekaźnikami funkcji Bypass i selektora wejść jest realizowane przez zasilanie cewek przekaźnika napięciem +5 V uzyskiwanym ze stabilizatora U5 płytki sterownika (napięcie +5 VD) względem masy D_GND.
W konsekwencji masy DA_GND i D_GND nie są ze sobą galwanicznie połączone. Optoizolacja i izolacja na przekaźnikach powoduje, że uciążliwe zakłócenia generowane przez cyfrowe układy mikrokontrolera i sterownika wyświetlacza nie przedostaną się przez wspólną masę do układów analogowych.
To prosty i bardzo skuteczny sposób na ograniczanie potencjalnych zakłóceń w układach analogowych pracujących ze sterownikami mikroprocesorowymi.
Do wprowadzania nastaw poziomu sygnału, przełączania wejść i funkcji bypass jest stosowany obrotowy enkoder IMP1 ze stykiem zwieranym przyciśnięciem jego osi. Układ sterownika ma możliwość opcjonalnego podłączenia odbiornika podczerwieni zdalnego sterowania i modułu zegara RTC. Zastosowanie tych możliwości jest planowane w przyszłości, obecna wersja oprogramowania sterownika tego nie przewiduje.
Budowa i montaż układu
Cały układ został umieszczony na dwu płytkach drukowanych. Pierwsza płytka zawiera:
- wszystkie układy analogowe: selektor wejść, kompletny układ regulacji barwy z przełącznikiem bypss, bufor sterujący układem PGA2320 i układ PGA2320;
- kompletny przetwornik DAC z układami konwertera prąd-napięcie i filtrem rekonstruującym;
- odbiornik S/PDIF i złącze do podłączenia konwertera USB/I²S;
- układ zasilacza części analogowej z transformatorami sieciowymi;
- gniazda CINCH wejść analogowych IN1, IN2, wyjścia analogowego oraz wejścia S/PDIF.
Na drugiej mniejszej płytce umieszczono sterownik mikroprocesorowy z układami optoizolacji, enkoderem obrotowym i stabilizatorami napięcia +3,3 V i +5 V.
Płytka układów analogowych
Schemat płytki analogowej został pokazany na rysunku 15. Płytka jest dość duża, ma wymiary 190×170 mm. Montaż rozpoczynamy od najmniejszych elementów: rezystorów SMD, potem kondensatorów i układów scalonych SMD, poprzez większe elementy przewlekane, na przykład podstawki, aż do kondensatorów przewlekanych w filtrach zasilaczy i transformatorów sieciowych. Na tym etapie nie należy wlutowywać potencjometrów filtrów barwy. Potencjometry są umieszczone blisko układów analogowych i są dość oddalone od płyty czołowej. Takie rozmieszczenie powoduje, że ścieżki, które łączą potencjometry z układem filtrów i innych układów analogowych, są krótkie. Jednak takie umieszczenie potencjometrów będzie wymagało zastosowania przedłużaczy osi. Żeby obracanie przedłużonymi osiami było prawidłowe, potencjometry trzeba wlutować wtedy, kiedy zmontowana płytka sterownika będzie połączona z płytką układów analogowych. Dopiero wtedy możliwe będzie precyzyjne ustawienie i wlutowanie potencjometrów.
Przedłużacz osi potencjometrów jest prosty do wykonania. Będziemy potrzebować dwu rzeczy: aluminiowej rurki o średnicy wewnętrznej 6 mm i grubości ścianek 1 mm i dwóch niepotrzebnych potencjometrów z moletowanymi ośkami o długości ok. 20...25 mm. Rurki przycinamy na odpowiednią długość (u mnie ok. 130 mm) zależnie od potrzeb. Wewnętrzna średnica rurki jest odpowiednia, by rurkę wcisnąć na moletowaną oś. Wystarczy tylko wciśnięcie i rurka się odpowiednio trzyma. Do drugiego końca przedłużacza wkładamy odciętą z potencjometru oś, przewiercamy na przelot wiertłem 2,5 mm i skręcamy wkrętem 2,5 mm z nakrętką. Alternatywnie można przewiercić wiertłem 2 mm, nagwintować gwintownikiem 2,5 mm i wkręcić wkręt 2,5 mm. Szczegóły rozwiązania wykonanego w modelu pokazuje fotografia 1.
Przedłużacz jest na tyle długi, że wymaga podparcia od strony pokrętła. Można to zrobić w płycie czołowej. Ja wykorzystałem do tego celu płytkę sterownika, która jest docelowo trwale połączona pod kątem prostym z główną płytką układów analogowych za pomocą kątowych goldpinów. To połączenie, oprócz funkcji mechanicznych, łączy obie płytki elektrycznie (złącze J2 płytki analogowej) W płytce sterownika są wywiercone w odpowiednim miejscu dwa otwory o średnicy 8 mm, przez które przechodzą rurki przedłużacza. Takie "łożyskowanie" wydaje się zupełnie wystarczające dla normalnej eksploatacji - fotografia 2. Potencjometry barwy w odróżnieniu od potencjometrów siły głosu są przestawiane dużo rzadziej. Dopiero po połączeniu obu płytek wkładamy przedłużacz i po ustawieniu całości wlutowujemy potencjometry filtrów barwy.
Opisane rozwiązanie pozwala na zbudowanie kompaktowego modułu stanowiącego jedną całość mechaniczną. Można go łatwiej umieścić w obudowie. Wszystkie wzmacniacze operacyjne powinny być w obudowie do montażu przewlekanego DIP8. Po wlutowaniu precyzyjnych podstawek można użyć układów w obudowie DIP8 i układów SMD zamontowanych w specjalnych przejściówkach zwanych popularnie "stolikami". Ja w swoim układzie zastosowałem bardzo dobre układy OPA1611 i OPA1612. Ponieważ nie występują w obudowach DIP, są umieszczone na przejściówkach. Układy konwertera prąd napięcie U12 i U16, umieszczone w obudowach SMD i przylutowane do płytki przejściówki, dość mocno się nagrzewają.
Płytka sterownika
Rysunek płytki sterownika został pokazany na rysunku 16. Najtrudniejszym elementem do montażu ze względu na mały rozstaw wyprowadzeń jest mikrokontroler Atmega4808. Po wlutowaniu trzeba dokładnie sprawdzić, czy nie ma zwarć pomiędzy wyprowadzeniami i czy wszystkie wyprowadzenia są dobrze przylutowane. Jest to o tyle ważne, bo po połączeniu z płytką układów analogowych dostęp do mikrokontrolera zasłania jeden z transformatorów sieciowych i poprawki są bardzo utrudnione, a wręcz niemożliwe bez rozlutowania obu płytek lub wylutowania transformatora.
Po zlutowaniu całej płytki jeszcze raz sprawdzamy dokładnie połączenia i łączymy obie płytki za pomocą listwy kątowych goldinów. Złącza łączące obie płytki są tak umieszczone, żeby przygotowane otwory podpierające przedłużacze pasowały do osi potencjometrów. Osie przedłużaczy i oś enkodera są umieszczone w jednej linii i w równych odstępach ok. 3 cm między sobą - fotografia 3.
Większość elementów na płytce sterownika jest przylutowana na umownej stronie elementów (top layer). Na umownej stronie lutowania (bottom layer) przylutowany jest enkoder i wyprowadzenia wyświetlacza, tak jak to zostało pokazane na fotografii 3. Wyświetlacz jest oddalony od powierzchni płytki o około 15 mm.
Cały układ został umieszczony w metalowej obudowie o wymiarach 220×175×50 mm (fotografia 4). Panel przedni ma wycięcie o wymiarach 30×37 mm przeznaczone na ekran wyświetlacza i otwory na osie potencjometrów (przedłużaczy) i oś enkodera. W tylnym panelu zostały wycięte otwory na gniazda cinch i kabel sieciowy. Na tylnej ściance został umieszczony również wyłącznik sieciowy.
Uruchomienie układu
Po zmontowaniu obu płytek jeszcze raz dokładnie sprawdzamy dokładność montażu. Wszystkie zastosowane elementy powinny być nowe i dobrej jakości. Dotyczy to szczególnie kondensatorów elektrolitycznych. Wszystkie zastosowane rezystory w obudowach SMD o rozmiarze 1206 są metalizowane, o tolerancji 1% i mocy minimum 0,5 W. Kondensatory foliowe w filtrach przetwornika analogowo-cyfrowego i filtrze barwy tonu powinny mieć tolerancję nie większą niż 2%. Ponieważ często trudno dostać kondensatory o tolerancji mniejszej niż 5%, to dobrym wyjściem jest ich mierzenie i segregowanie z większej ilości elementów o wyższej tolerancji. W praktyce nie jest potrzebna idealna znamionowa pojemność, ale należy tak dobrać kondensatory, by się jak najmniej różniły w obu kanałach. Dość istotna jest jakość potencjometrów filtra barwy tonu. Dobrze, gdyby miały podobną rezystancję i zbliżoną współbieżność.
Transformatory powinny spełniać odpowiednie normy dotyczące bezpieczeństwa. W prototypie zostały użyte sprawdzone przeze mnie w wielu urządzeniach polskie transformatory firmy Indel.
Uruchomienie układu zaczynamy tradycyjnie od sprawdzenia poprawności wszystkich napięć zasilających. Przed pierwszym włączeniem układu należy jeszcze raz dokładnie sprawdzić prawidłowe wlutowanie rezystorów w dzielnikach ustalających napięcia w stabilizatorach LM317 i LM337(LT37/LT337).
Jeżeli napięcia są prawidłowe w obu płytkach, to w kolejnym kroku trzeba zaprogramować mikrokontroler. Ja do tego celu użyłem środowiska Microchip MPLAB X IDE i programatora/debuggera PicKit4. To naturalny wybór, bo program sterujący został napisany w tym środowisku i skompilowany bezpłatną wersją kompilatora MPLAB CX8. Do zaprogramowania przewidziano złącze J3 z wyprowadzeniami zgodnymi z PicKit 4. Oczywiście można tu użyć innych narzędzi do programowania układów ATmega, na przykład MPLAB IPE z PicKit4 lub narzędzi zaprojektowanych przez firmę Atmel. Do programowania w układzie potrzebne są napięcia zasilające (detekcja ich obecności) i dwukierunkowa linia UPDI. Po prawidłowym zaprogramowaniu mikrokontrolera na ekranie wyświetlacza pojawią się domyślne ustawienia siły głosu, wybranego wejścia selektora i ustawienia układu bypass dla filtra barwy tonu.
Na początek wybieramy jedno z wejść analogowych przez krótkie przyciśnięcie ośki enkodera, podłączamy do niego sygnał sinusoidalny z generatora o częstotliwości 1 kHz i amplitudzie ok. 1 Vpp i na wyjście układu dołączamy oscyloskop. Teraz kręcimy ośką enkodera i sprawdzamy na ekranie oscyloskopu, jak się zmienia sygnał. Jego amplituda powinna się zmieniać, rosnąc lub malejąc identycznie w obu kanałach. Skok regulacji nie jest zbyt duży (0,5 dB) i zmiana o jeden krok jest subtelna. Po sprawdzeniu działania regulacji wyłączamy i włączamy układ. Sterownik powinien ustawić taki sam poziom sygnału jak przed wyłączeniem.
Sprawdzenie filtra barwy tonu zaczynamy od wyłączenia układu bypass przez dłuższe przyciśnięcie ośki impulsatora. Na ekranie powinna się pojawić informacja Bypass OFF. Na wybrane wejście analogowe podajemy sygnał o częstotliwości 30 Hz i kręcimy osią potencjometru tonów niskich. Amplituda powinna się wyraźnie zmieniać: rosnąć lub maleć. Takie same czynności wykonujemy dla filtra tonów wysokich. Sygnał na wejściu powinien mieć częstotliwość 15 kHz. Jego amplitudę regulujemy potencjometrem tonów wysokich.
Teraz możemy przełączyć wejście selektora na wyjście przetwornika cyfrowo-analogowego. Do wejścia S/PDIF podłączamy źródło sygnału na przykład z odtwarzacza CD. Ja do testów używałem konwertera USB/I²S i drugiego z I²S/SPDIF. Na wyjściu na ekranie oscyloskopu powinniśmy zaobserwować sygnał audio.
Testy możemy przeprowadzić bez generatora i oscyloskopu. Wyjście przedwzmacniacza podłączamy do wejścia wzmacniacza, a źródłem może być wbudowany przetwornik i sprawdzamy działanie na słuch. Jednak najpierw należy zmierzyć napięcie stałe na wyjściu przedwzmacniacza - nie powinno przekraczać kilku miliwoltów. Żeby ochronić wzmacniacz przed niepoprawnym napięciem na wyjściu, w trakcie uruchamiania wejście wzmacniacza trzeba połączyć przez potencjometr, w którym suwak jest na początku zwarty z masą. Może to uchronić wzmacniacz przed podaniem zbyt dużego sygnału na wejście, kiedy uruchamiany układ ma jakąś usterkę. Potem stopniowo przekręcamy oś tego dodatkowego potencjometru w prawo, kontrolując prawidłowość sygnału. Jednak najbezpieczniejsze jest uruchamianie z użyciem oscyloskopu, bo do razu widać wszelkie ewentualne nieprawidłowości.
Wszystkie sygnały wejściowe podawane na wejścia IN1 i IN2 nie powinny mieć składowej stałej. Na wejściu nie ma kondensatora separującego. Zapobiega to ewentualnemu łączeniu szeregowemu kondensatorów w źródle i w przedwzmacniaczu i w konsekwencji możliwości ograniczania pasma od dołu.
Ostatnia część opisu zostanie zaprezentowana za miesiąc. Omówimy wtedy działanie programu sterującego i obsługę urządzenia.
Tomasz Jabłoński, EP