POL
ENG

Cyfrowy equalizer

Układ ten powstał jako projekt na jeden z przedmiotów uczelnianych. Miał on demonstrować idę działania aparatu słuchowego. Po oddaniu projektu stał się zwykłym equalizerem 6-cio punktowym.


Schemat urządzenia przedstawia się następującow




Budując equalizer musimy sobie zadać pytanie ile punktów charakterystyki częstotliwościowej chcemy korygować (wyrównywać – ang. to equalize) i w jakim stopniu. Od tego ile częstotliwości wybierzemy będzie zależeć ilość punktów naszego korektora. Powiedzmy, że wybraliśmy 10 punktów. Teraz musimy nasze pasmo podzielić na dziesięć równych części. Jeżeli wybierzemy pasmo akustyczne (20Hz – 20kHz) to sprawa jest prosta, bo wystarczy wybrać kolejne częstotliwości pozostające w stosunku 1:2 i otrzymamy w ten sposób equalizer oktawowy (dźwięk C gamy razkreślnej jest dwa razy mniejszy od częstotliwości dźwięku C gamy dwukreślnej). Jeżeli wybierzemy węższy zakres częstotliwości to musimy przyjąć inny stosunek częstotliwości, ale tak żeby zachować równą odległość między nimi.



Kolejnym krokiem jest dobranie wstępnej dobroci obwodów rezonansowych, ale do tego trzeba wspomnieć trochę o konstrukcji.


W układzie tym można wyróżnić dwa kluczowe bloki. Pierwszy z nich to blok analogowy. Składa się on z sześciu obwodów rezonansowych, dwóch filtrów i wzmacniacza. Każdy obwód rezonansowy składa się z kondensatora i cewki, które dla częstotliwości rezonansowej staje się zwarciem. Można się zdziwić jakiej cewki, skoro nie widać ani jednego zwoju? Otóż cewka jest tutaj zastąpiona żyratorem zbudowanym w oparciu o układ wtórnika napięcia na tranzystorze, dwóch oporników i kondensatorze. Mniej doświadczeni elektronicy muszą uwierzyć na słowo, że tak jest, a bardziej zaawansowani mogą pokusić się o przeliczenie impedancji wejściowej tego układu metodą macierzy admitancyjnej. Schemat pojedynczego stopnia można zobaczyć na rysunku poniżej.





Taka cewka w połączeniu z kondensatorem stanowi układ rezonansowy LC. W bardzo dużym uproszczeniu można powiedzieć, że oporność takiego układu zależy od częstotliwości i dla jednej konkretnej takie połączenie stanowi zwarcie (prawie jak drut).





Jest to naprawdę duże uproszczenie ponieważ dochodzi tu kwestia jeszcze rezystancji szeregowej Rs i innych czynników. Ale nie wnikajmy. Ważne jest to, że od dobroci Q takiego układu zależy stromość charakterystyki amplitudowej. Im większa dobroć tym bardziej stroma charakterystyka. Dochodzimy do kluczowego momentu. Dobierając Q trzeba mieć na uwadze, żeby sąsiednie pasma nie nachodziły zbytnio na siebie rys.3, ale także żeby wypadkowa charakterystyka, dla potencjometrów ustawionych na maksimum, była w miarę płaska.





Gdy mamy dobraną dobroć, to trzeba zająć się dobraniem wartości pozostałych elementów. Największą trudność zawsze stanowią kondensatory, których wartości pochodzące z wyliczeń trzeba składać z kilku, ponieważ nie da się ich kupić w sklepie. Dlatego też proponuję zacząć od wybrania kondensatorów z szeregu, a potem obliczyć wartości oporników, które jakoś łatwiej dobrać (nawet te nietypowe wartości). Indukcyjność cewki wyraża się wzorem:



L = R1 * R2 * C1



dobroć natomiast wyraża się wzorem:



Q = (sqrt(L/C)) / R1



częstotliwość rezonansowa LC:



f = 1 / (2*pi*sqrt(R1*R2*C1*C2))



Żeby obliczyć wartość rezystorów, musimy skorzystać z dwóch wzorów pamiętając jednocześnie, że wartość R1 musi być dużo mniejsza od R2.



R1 = 1 / (2*pi*f*C2*Q)



R2 = Q / (2*pi*f*C1)



Oczywiście, opory w każdym z obwodów rezonansowych będą identyczne, a wartości kondensatorów będą się zmieniać.

Mamy więc zestrojone obwody LC, które teraz trzeba połączyć w jedną całość. Podłączamy je jedną stroną do suwaka potencjometru, a drugą do masy układu. Potencjometry łączymy równolegle i podpinamy między wejścia do wzmacniacza. Dodajemy sprzężenie zwrotne i opór wejściowy i mamy najprostszy equalizer. Sposób podłączenia pojedynczego obwodu LC można zobaczyć poniżej:





a w PSpice wygląda to tak:





Część analogowa, to dopiero połowa układu. Omówienia wymaga jeszcze część cyfrowa. Jej sercem jest mikrokontroler AT89s8535 firmy Atmel. Do niego dołączone są nasze potencjometry cyfrowe, dzięki którym regulowana jest charakterystyka amplitudowa. Oprócz nich mamy jeszcze pamięć szeregową na magistrali I2C do zapamiętywania ustawień potencjometrów i wyświetlacz alfanumeryczny 2*16 znaków zapewniający łatwiejszą oraz czytelniejszą obsługę urządzenia. Do sterowania przewidziane są cztery guziki: Góra, Dół, Lewo i Prawo. Klawiszami „lewo”, „prawo” wybiera się odpowiedni potencjometr, natomiast guzikami „góra”, „dół” ustala się wartość danego potencjometru.


Układy MAX5402 programuje się przy pomocy interfejsu SPI. Każdy bajt wysyłany do potencjometru jest zapamiętywany w pamięci 24c02 pod adresem dla niego przeznaczonym tak żeby po włączeniu i wyłączeniu zasilania nie trzeba było ustawiać ich na nowo. I tak, wartość potencjometru pierwszego jest zapamiętywana pod adresem pierwszym, drugiego pod drugi itd. aż do sześciu. Taka organizacja pamięci pozwoliła maksymalnie uprościć program pod tym względem. Jak już wcześniej wspomniałem, komunikacja z pamięcią odbywa się za pomocą protokołu I2C. Jako, że jest on szeroko znany i udokumentowany, to nie będę opisywał go po raz kolejny. Omówienia wymaga jeszcze program. Jak już wcześniej wspomniałem, układ ten był projektem składanym na uczelni gdzie wymogiem było napisanie kodu źródłowego w asemblerze, dlatego tylko taki kod źródłowy udostępniam. Być może ktoś pokusi się o napisanie programu w BASCOMie albo w C jednak dzięki zastosowaniu asemblera udało się zaoszczędzić mnóstwo miejsca w pamięci programu (nawet mimo jego nieoptymalności). Cały program posiada bogaty komentarz, tak więc nie powinno być problemów z jego zrozumieniem.





Wszelkie prawa zastrzeżone. Projekt i wykonanie strony SrcPro.pl