dsp dla muzyków

download dsp dla muzyków

of 8

Transcript of dsp dla muzyków

PROJEKTY

Cyfrowy efekt gitarowy

AVT-5215 w ofercie AVT: AVT-5215A pytka drukowana AVT-5215B pytka drukowana + elementy Podstawowe informacje: Napicie zasilania 6...12 VDC (wewntrzny stabilizator 3,3 V) Pytka drukowana: wywietlacz 2225 mm, efekt 46160 mm Przeznaczony do wsppracy z gitar Wybr 1 z 8 efektw zaprogramowanych przez uytkownika lub predeniowanych przez rm Sterowanie: PIC16F628A rmy Microchip, generowanie efektw: FV-1 Spin Semiconductor Dodatkowe materiay na CD i FTP: host: ep.com.pl, user: 12235, pass: 60u61csy przykady nagra efektw wzory pytek PCB program karty katalogowe i noty aplikacyjne elementw oznaczonych na Wykazie Elementw kolorem czerwonym Projekty pokrewne na CD i FTP: AVT-302 Kompresor do gitary i basu (EP5/1996) AVT-303 Przystawka do gitary Distortion (EP6/1996) AVT-304 Gitarowa bramka szumw (EP7/1996) AVT-306 Chorus gitarowy (EP10/1996) AVT-313 Gitarowa kaczka (EP11/1996) AVT-314 Efekt tremolo vibrato (EP12/1996) AVT-435 Prosty wzmacniacz do wicze gry na gitarze (EP7/2005)(wymienione artykuy s w caoci dostpne na CD)

Technologia DSP AVT dla muzykw 5215Dodatkowe materiay na CD i FTP

Starsi elektronicy zapewne pamitaj czasy, gdy w czasopismach elektronicznych krloway rnego rodzaju przystawki do instrumentw muzycznych. Wrd nich mona wymieni najbardziej popularne, wykonywane z przeznaczeniem do gitary, takie jak vibrato, tremolo i fuzz. Wspczesna technika cyfrowego przetwarzania sygnaw umoliwia nie tylko generowanie tych prostych efektw, ale rwnie tworzenie zupenie innych, bardziej wyranowanych. Przykadem takiego rozwizania jest prezentowane niej urzdzenie. Ma ono wbudowany specjalizowany procesor DSP, ktry tworzy efekty na bazie prostego do wykonania programu. Oprcz tego rma udostpnia wiele predeniowanych nastaw, dziki ktrym mona tworzy niepowtarzalne efekty dwikowe. Rekomendacje: muzycy z yk elektronika niezbdn do budowy ukadu i z zaciciem do eksperymentowaniaNie jestem gitarzyst. Nie potra nawet zagra przysowiowej ogniskowej piosenki na trzy chwyty. Skd zatem pomys na wykonanie cyfrowego efektu gitarowego? Zrodzi si on przy okazji poszukiwania ukadw przeznaczonych do cyfrowej obrbki sygnaw analogowych. Do takich celw stosuje si specjalizowane procesory zwbudowanymi unikalnymi ukadami peryferyjnymi nazywanymi silnikami DSP (DSP engine). Cyfrowe operacje na zdigitalizowanym sygnale analogowym wymagaj gwnie operacji dodawania i mnoenia liczb wielobitowych (najczciej wpraktyce s to liczby 16-, 24lub 32-bitowe). Oile dodawanie nie jest problemem, otyle mnoenie na przykad 2 liczb 24-bitowych zwykym CPU zajmuje sporo czasu. Wsystemach DSP do obrbki sygnau audio tego czasu nie ma, poniewa zwykle przetwarzanie wykonywane jest w czasie rzeczywistym. Dlatego mikroprocesory DSP s wyposaane wsprztowe moduy mnoce, wasn wielobitow jednostk ALU izestaw specjalizowanych instrukcji wspomagajcych typowe operacje na sygnaach. Na rynku jest wiele rodzin mikroprocesorw DSP. Bardzo znana jest np. TMS320 zTexas Instruments. Na kawaek tortu ztego rynku ma rwnie ochot Microchip, adowodem s mikrokontrolery DsPIC30 iDsPIC33. Programowanie procesorw DSP nie jest rzecz prost i wymaga sporej wiedzy oraz jeszcze wikszego dowiadczenia. Producenci robi, co mog aby zachci do zrobienia

przysowiowego, pierwszego, najtrudniejszego kroku. Oferuj coraz tasze zestawy startowe oraz ewaluacyjne i edukacyjne wersje kompilatorw jzyka C/C++. Dodatkowo wraz zkompilatorem dostarczane s biblioteki zawierajce typowo stosowane funkcje np. transformat Fouriera igotowe ltry cyfrowe. Mimo wszystko zbudowanie kompletnego systemu do obrbki sygnaw akustycznych nie jest proste. Nawet jak uporamy si zprogramem, to wukadzie oprcz mikrokontrolera trzeba zastosowa odpowiedni kodek audio i obsugiwa w czasie rzeczywistym przepyw danych pomidzy przetwornikami a mikrokontrolerem. To wyzwanie nie tylko dla programisty, ale rwnie konstruktora. To stosunkowo skomplikowane przedsiwzicie prawdopodobnie spowodowao, e kto wpad na pomys, aby zaoferowa atwy do zastosowania, specjalizowany ukad DSP przeznaczony tylko do obrbki sygnaw analogowych audio. Dla uytkownika najlepiej byoby, gdyby taki ukad mia wbudowany wewntrz kodek iwszystkie niezbdne ukady, w tym pami RAM i pami programu. ELEKTRONIKA PRAKTYCZNA 12/2009

24

Cyfrowy efekt gitarowyW strukturze ukadu jest umieszczony blok interfejsu potencjometrw analogowych, niespotykany winnych tego typu konstrukcjach. Do trzech doprowadze ukadu mona podczy wyjcie potencjometru dzielcego napicie zasilania. Napicie zsuwaka jest przeksztacane na odpowiedni liczb 10-bitow i zapisywana w rejestrze w obszarze SFR. Odczytana z potencjometru warto napicia zmienia si wzakresie 0...0,99 i moe by uyta w programie jako wspczynnik ustalajcy warto nastawianego parametru. Uycie klasycznego potencjometru obrotowego jest zwykle wygodniejsze ni zastosowanie klawiszy gra/d. Pami opnienia ma pojemno 32 k-sw 14-bitowych. W pamici zapisywane s liczby 24-bitowe w skompresowanym formacie zmiennoprzecinkowym S23. W czasie zapisu jest przeprowadzana kompresja danych, aprzy odczycie dekompresja. Prawdziwa, sygnaowa natura ukadu wynika z zastosowania zestawu instrukcji asemblerowych DSP. Instrukcje te umoliwiaj programowe tworzenie efektw akustycznych wykorzystywanych midzy innymi w typowych efektach gitarowych, do tej pory wykonywanych wtechnice analogowej. Jednym z podstawowych blokw wykorzystywanych przy konstrukcji efektw gitarowych jest generator LFO (Low Frequency Oscillator). W ukadzie cyfrowym funkcja LFO jest realizowana programowo z wykorzystaniem pamici opnienia. Do dyspozycji s cztery generatory: dwa sygnau sinusoidalnego idwa sygnau pioksztatnego (Ramp Generator). Z generatorami jest zwizanych osiem rejestrw obszaru SFR. Wymieniono je wtab.1. Generowanie sygnau LFO omwimy, zaczynajc od prostej realizacji opnienia. Do pamici opnienia wpisywane s prbki wejciowe z czstotliwoci prbkowania. eby uzyska opnienie na przykad 20prbek, trzeba ustawi wskanik adresowania przesunity o 20 w stosunku do adresu zapisu. W ten sposb s zawsze odczytywane prbki zapisane wczeniej o czas rwny 20 okresom czstotliwoci prbkowania. Sygna na wyjciu ma niezmieniony ksztat iczstotliwo, ale jest opniony wstosunku do rda. Jeeli teraz prbki napywaj do pamici ze sta prdkoci, a wskanik odczytu pamici jest przesuwany z jak prdkoci w kierunku miejsca zapisu nowych prbek, to odczytane z pamici prbki reprezentuj czstotliwo wiksz ni czstotliwo sygnau wejciowego (rys.3). Jak si atwo domyli, przesuwanie wskanika odczytu wdrugim kierunku spowoduje zmniejszanie czstotliwoci odczytywanych prbek. Prdko przesuwania wskanika moe by liniowa lub zmienia si zgodnie z funkcj sinus (rys. 4). Sygna wyjciowy jest modulowany czstotliwo-

Rys.1. Schemat blokowy FV-1 Takim ukadem ounikalnych waciwociach poczonych zprostot aplikacji jest procesor sygnaowy FV-1 rmy Spin Semiconductor. rza pasmo przenoszenia do 20kHz. Wszystkie niezbdne sygnay zegarowe s generowane przez wewntrzny ukad PLL. Schemat blokowy FV-1 pokazano na rys.1. Ukad jest zasilany pojedynczym napiciem +3,3V. Wejciowe sygnay analogowe s konwertowane przez przetworniki A/C S-D. Po konwersji, rdze DSP odczytuje dane zwyj przetwornikw ipoddaje dalszej obrbce. Ukad moe wykonywa 16 rnych programw wybieranych sprztowo, stanami wymuszanymi na trzech wejciach sterujcych. Podczas produkcji wpamici ROM ukadu zapisywanych jest osiem fabrycznych programw. Ta przestrze nie moe by wykorzystywana przez programist, chyba e bd to programy zapisane na zamwienie przez producenta w procesie produkcji. Ukad pozwala nie tylko na uycie gotowych funkcji, ale rwnie na tworzenie wasnych. Podanie stanu wysokiego na wejcie sterujce T0 oznaczone na rys.1 jako wejcie wyboru ROM/EEPROM powoduje, e rdze bdzie wykonywa jeden zomiu programw uytkownika, zapisanych wzewntrznej pamici EEPROM.

Procesor audio FV-1O tym ukadzie pisalimy ju wEP11/2009. Przede wszystkim, zawiera on wswojej strukturze wszystkie niezbdne bloki funkcyjne ido dziaania potrzebuje tylko kilku elementw zewntrznych, wtym atwo dostpnej pamici EEPROM 24LCxx zinterfejsem I2C. Pami ta przeznaczona jest do zapamitania programu. Co wane, ukad jest tak skonstruowany, e pami EEPROM mona zaprogramowa wsystemie. FV-1 ma wbudowany stereofoniczny, 24-bitowy kodek audio z przetwornikami sigma-delta. Przetworniki te maj nieze parametry: poziom szumw (A-waony) typowo 97dB iznieksztacenia 0,015% dla przetwornikw A/C i C/A. Pasmo przenoszenia jest ograniczane do 15 kHz (nierwnomierno 0,5dB) dla standardowej czstotliwoci taktowania ukadu kwarcem zegarkowym o czstotliwoci 32,768 kHz. Podniesienie czstotliwoci taktowania do 48kHz rozsze-

Rys.2. Generowanie staego opnienia

Tab. 1. Wykaz rejestrw generatorw LFOAdres 0 1 2 3 4 5 6 7 Nazwa SIN0_RATE SIN0_RANGE SIN1_RATE SIN1_RANGE RMP0_RATE RMP0_RANGE RMP1_RATE RMP1_RANGE R/W W W W W W W W W Opis SIN0 wspczynnik czstotliwoci SIN0 zakres SIN1 wspczynnik czstotliwoci SIN1 zakres RMP0 wspczynnik czstotliwoci RMP0 zakres RMP1 wspczynnik czstotliwoci RMP1 zakres

ELEKTRONIKA PRAKTYCZNA 12/2009

25

PROJEKTYciowo. Zakres zmiany czstotliwoci jest okrelany zakresem zmian wskanika, czyli amplitud modulacji. Czstotliwo modulacji jest proporcjonalna do szybkoci zmian stanu wskanika pamici. Aby opisywan wyej funkcj zrealizowa zuyciem FV-1, naley najpierw zdeniowa obszar w pamici uywany do odmierzania opnie. Zarezerwowana na opnienie pami musi mie rozmiar proporcjonalny do danej amplitudy modulacji. Na przykad, jeeli modulacja przebiegiem sinusoidalnym bdzie miaa amplitud 1024 prbek, to obszar zarezerwowany na opnienie musi mie rozmiar 2049 prbek (1024 oraz liczba 0). Wimplementacji sinusoidalnego generatora LFO modulujcego czstotliwo wejciow zamplitud 1024 prbek wskanik ustawiany jest na adres wzgldny 1024. Mamy wtedy pewno, e wczasie modulacji nie zostan pobrane prbki spoza obszaru zapisywanego wtej implementacji LFO. Teraz w tak zdeniowanej pamici trzeba zapisywa prbki kolejno nadchodzce z przetwornika A/C. Musi by te moliwo ustalania imodykowania wskanika dostpu do pamici. WFV-1 jest to realizowane wten sposb, e do adresu zawartego w instrukcji dostpu do pamici dodawana jest zawarto licznika zliczajcego wd idekrementowanego przy kadym cyklu prbkowania. Pozwala to na zapisywanie prbek zniszym adresem i odczytywanie z wyszym. Na przykad, dla opnienia rwnego 20 prbek s one zapisywane pod adres 0, aodczytywane spod adresu 20 (dziesitnie). W praktyce, do wyliczania amplitudy generatora sinusoidalnego LFO uywa si liniowej interpolacji funkcji sinus opartej na dwch wspczynnikach, zapisywanych w obszarze pamici SFR (tab. 1). Pierwszy wspczynnik (SIN_RATE) okrela czstotliwo LFO zgodnie zzalenoci:

Rys.3. Zwikszanie czstotliwoci sygnau wejciowego

Rys.4. Modulowanie czstotliwoci sygnau wyjciowego

Mnemonik WLDS Nazwa N F ARys.5. Rozkaz WLDS

Kod rozkazu 00NFFFFFFFFFAAAAAAAAAAAAAAA10010 Dugo Opis 1 bitw Wybr SIN LFO(0, 1) 9 bitw Zakres 0...511 15 bitw Zakres 0...32767

gdzie: f dana czstotliwo LFO w Hz, R czstotliwo prbkowania wHz. Dopuszczalny zakres zmian wspczynnika Kf to 0...511. Pozwala to na prac LFO z czstotliwoci w zakresie 0...20 Hz przy czstotliwoci prbkowania wynoszcej 32,768kHz. Wspczynnik okrelajcy amplitud zmian (SIN_RANGE) jest wyliczany z zalenoci:

Rys.6. Zasada dziaania generatora LFO ramp sinus, tutaj wskanik bdzie zawsze porusza si w jednym kierunku: albo od prbki zerowej do wartoci maksymalnej (amplituda modulacji) dla zmniejszenia czstotliwoci, albo od maksymalnej wartoci do prbki zerowej przy zwikszaniu czstotliwoci (rys.6). sygnau sinusoidalnym przebiegiem wolnozmiennym. W materiaach rmowych mona znale kod rdowy kompletnego efektu tremolo, ktrego prdko jest regulowana pooeniem potencjometru Pot1, a poziom wyjciowy potencjometrem Pot2. Fragmenty tego programu pokazano na list.1. Wczci inicjalizacyjnej jest deniowany generator sinusoidalny LFO1 ze wspczynnikami Kf=0 iKa=16383. Potem, na podstawie wartoci odczytanej zpotencjometru Pot1 modykowana jest warto Kf. ELEKTRONIKA PRAKTYCZNA 12/2009

gdzie N liczba prbek opnienia. Dopuszczalny zakres zmian Ka to 0...32767. Zaprogramowanie LFO jest bardzo proste. Wystarczy wyliczy dane wspczynniki izapisa rejestry rozkazem WLDS (rys.5). Bardzo podobnie dziaa LFO Ramp Generator umoliwiajcy modulacj przebiegiem pioksztatnym. Wodrnieniu od modulacji

Tworzenie efektw dwikowychGeneratory LFO s podstaw efektw gitarowych. Jednym z najprostszych jest tremolo. Polega on na modulacji amplitudy

26

Cyfrowy efekt gitarowyList.1. Fragment programu efektu tremolo;Pot1 = Tremelo rate ;pot2 = Effect level

... ;fragment inicjalizacji efektu wlds sin1,0,16383 ;inicjalizacja LFO1 SIN F=0, A=16383 ;wykonanie efektu tremolo z kontrol LFO SIN1 potencjometrem Pot1 rdax pot1,1 ;odczytaj warto z potencjometru Pot1 (rejestru potencjometru) mulx pot1 ;podnie odczytan warto do kwadratu sof 0.4,0.1 ;skalowanie prdkoci efektu do rozsdnych granic wrax sin1_rate,0 ;zapisanie wartoci do rejestru wspczynnika czstotliwoci ;SIN1_RATE cho rdal,sin1 odczytanie prbki z pamici opnienia i przeskalowanie przez 0,5 ;i przesanie do akumulatora sof 1,0.5 ;dodanie do akumulatora staej 0,5 wrax trem,0 ;przesanie do zmiennej odpowiedzialnej za modulacj sygnau rdax mulx sof rdax mulx rdax sof rdax sof wrax sof wrax mono,0.5 ;przeskalowanie sygnau wejciowego trem ;ACC=mono*trem 0.75,0 ;ACC=ACC*0,75 mono,-0.5 ;ACC=ACC+mono*-0,5 pot2 ;ACC=ACC*pot2 mono,0.5 ;ACC=ACC+mono*0,5 1.999,0 ;ACC=ACC*1,999 +0 revout,1 ;ACC=ACC+revout*1 1,0.2 ACC=ACC+0,2 dacl,1 ACC->DACL 1,-0.4 dacr,0 ACC->DACR

Wykaz elementw Rezystory: (SMD, 1206) R5: 100 V R9, R10, R13, R14, R16, R17: 150 V R1 R2 R3 R4 R6, R8, R11 R12: 1 kV 1206 R7, R9, R10: 10 kV P1, P2, P3: potencjometry 10...50 kV liniowe (A), do druku Kondensatory: C4: 10 pF (ceramiczny, 1206) C7, C10: 2,2 nF (ceramiczny, 1206) C2, C3, C6, C13, C14: 100 nF (1206) C8, C9: 1 mF/16 V (SMD) C1, C5, C11: 10 mF/16 V (tantalowy, SMD) Pprzewodniki: U1: FV-1 U2, U3: pami EEPROM 24LC128 zaprogramowana (opis wtekcie) U4: SPX1117-3,3V (TO-252) U5: PIC16F628A zaprogramowany Inne: Kwarc zegarkowy 32,768 kHz Listwy goldpinw Wywietlacz 7-segmentowy LED owsplnej anodzie

Program nie jest zbyt skomplikowany. Pisanie programw dla FV-1 rni si od tego dla klasycznych mikrokontrolerw. Nie ma tu ptli, wktrej klasyczny program musi si wykonywa. Program dla FV-1 koczy si tak po prostu, bez adnego rozkazu skoku. Jest zaptlony sprztowo iwykonywany cyklicznie przy kadym pobraniu prbki z przeR E K

twornikw analogowo-cyfrowych ADC. Inaczej mwic, program jest wywoywany zczstotliwoci prbkowania. Zsekwencyjnym wykonywaniem programu jest zwizana aga RUN. Moe ona by testowana sprztowo przez rozkaz ominicia wykonywania nastpnego rozkazu lub grupy rozkazw. Po zaadowaniu programu do L A

wykonania zzewntrznej pamici EEPROM do pamici FV-1, aga RUN jest ustawiana, a po pierwszym wykonaniu programu jest zerowana. Mona to wykorzysta w czasie inicjacji generatorw LFO czy zmiennych programu. Podczas pierwszego przebiegu programu wykonywane s instrukcje inicjalizacji dla RUN=1, a w czasie nastpnych M A

ELEKTRONIKA PRAKTYCZNA 12/2009

27

Na CD: karty katalogowe i noty aplikacyjne elementw oznaczonych na wykazie elementw kolorem czerwonym

PROJEKTYList.2. Inicjalizacja programu efektu tremoloskp wrax wrax wlds wlds endclr: run,endclr lp1,0 lp2,0 sin0,12,100 sin1,0,16383

Rys.7. Schemat ideowy efektu te instrukcje s pomijane. W omawianym wyej programie tak inicjowane s generator LFO SIN1, LFO_SIN0 (dla efektu chorus) iobszary pamici (list.2). Omawianie listy rozkazw i dokadne wyjanianie zasad pisania programu znacznie wykracza poza ramy tego artykuu. Przytoczony tutaj przykad mia na celu pokazanie idei tworzenia aplikacji efektu. Dokadne dane, wraz z programami w wersji rdowej, mona znale na stronach producenta ukadu. Jest tam te zamieszczony dokadny opis architektury i praktyczne wskazwki dotyczce pisania programw. Wrmy zatem do praktycznej realizacji ukadu generujcego efekty gitarowe. Schemat praktycznie wykonanego urzdzenia pokazano na rys.7. Jest to wzasadzie kopia opracowania dostpnego na stronie producenta. Ukad jest tak prosty, e przynajmniej na etapie poznawania waciwoci FV-1 modykacje wyday mi si nieuzasadnione. Jedyn rnic jest sposb wybierania aktywnego efektu. Tym zadaniem zajmuje si prosty sterownik z mikrokontrolerem PIC16F628A. Rezystor R1 i kondensator C7 s elementami ltra dolnoprzepustowego na wejciu przetwornika A/C. Filtrowanie jest niezbdne dla wyeliminowania aliasingu. Wejcia LIN iRIN s zwarte, asygna wejciowy jest podawany na oba przetworniki jednoczenie. Sygna wyjciowy z przetwornikw DAC lewego i prawego kanau jest sumowany na rezystorach R2 i R3. Kondensator C9 eliminuje skadow sta, a kondensator C10 (cznie z rezystorami R2 i R3) ltruje dolnoprzepustowo sygna wyjciowy zprzetwornika. Jest to tak zwany dolnoprzepustowy ltr rekonstruujcy. Sygnay wejciowy i wyjciowy s podczane przez zcza J1 i J6. S to stereofoniczne zcza typu jack. Pami EEPROM (U2 lub U3) zzapisanymi programami efektw jest poczona z ukadem FV-1 liniami SDA i SCL magistrali I2C. Wszystkie linie adresowe pamici: A0, A1 i A2, maj stan niski. Na schemacie s narysowane 2 pamici poczone rwnolegle. Na pytce drukowanej przewidziano miejsce na pami w obudowie SMD iobudowie do montau przewlekanego DIL. W trakcie pracy ukadu moe by na pytce tylko jedna ztych pamici. Ja wykorzystaem pami wobudowie SMD (U3) programowan wukadzie przez zcze J5. Pomidzy suwakami potencjometrw P1 iP3 awyprowadzeniami POT0 iPOT2 s wczono po dwa rezystory 1 kV poczone szeregowo. Umoliwiaj one zwieranie ustawie potencjometrw przez ukady pedaw podczanych przez zcze J4. Cay ukad jest zasilany pojedynczym napiciem +3,3 V ze stabilizatora SPX1117-3.3 (U4). Przy wyprowadzeniach zasilania FV-1 umieszczono ceramiczne kondensatory o pojemnoci 100 nF (C6 i C13). Wewntrzne napicie referencyjne przetwornikw jest blokowane kondensatorem C11. W pierwszej wersji efektu do testw poprawnoci wybierania efektw uyem mechanicznego enkodera 16 na 4. Pierwszych 8 pozycji enkodera wybierao programy demonstracyjne ukadu FV-1 zaszyte w pamici ROM. Nastpnych 8 pozycji wybierao 8 programw zapisanych w pamici EEPROM. W trakcie testw efektu przeprowadzonych przez gitarzystw okazao si, e zastosowany enkoder jest niewygodny i lepszym rozwizaniem byoby sekwencyjne przeczanie efektw za pomoc 2 stykw. Umoliwiaoby to przeczanie efektw stykami zwieranymi nog bez przerywania gry. Takie sterowanie mona realizowa na wiele sposobw, ale najwygodniej jest do tego celu wykorzysta may tani mikrokontroler na przykad PIC16f628A. Numer aktywnego efektu sterownik wywietla na pojedynczym 7-segmentowym wywietlaczu LED ze wspln anod. Rezystory R9, R10, R13, R14, R15, R16 i R17 ograniczaj prdy segmentw. Wywietlacz ELEKTRONIKA PRAKTYCZNA 12/2009

BudowaMimo e ukad FV-1 jest stereofoniczny, to przy wytwarzaniu efektw gitarowych oczywiste jest wykorzystanie go wwersji monofonicznej. Sygna wejciowy z gitary jest podawany przez kondensator C8 usuwajcy ewentualn skadow sta.

28

Cyfrowy efekt gitarowy

Rys.8. Pytki drukowane: gwna iwywietlacz LED wywietla numer efektu w zakresie od 0 do 7. Ztym numerem jest powizany stan linii RA0, RA1 iRA7 wyboru efektu doczonych do linii sterujcych S0, S1 iS2 ukadu FV-1. Jeeli na przykad na wywietlaczu jest R E K warto 6, to sekwencja wybierajca efekt ma warto binarn 110. W ten sposb mona wymusi osiem rnych stanw na liniach S0, S1 i S2 wybierajcych jeden z efektw. Pozostaje jeszcze wybr pomidzy efektami L A zapisanymi w pamici staej FV-1 a efektami zapisanymi w pamici EEPROM. Do tego celu suy wejcie T0 ukadu FV-1 poczonego z pinem zcze J7. Jeeli chcemy uywa tylko efektw zapisanych w pamiM A

ELEKTRONIKA PRAKTYCZNA 12/2009

29

PROJEKTYci EEPROM, to na pytce, zwierajc zwork J7, trzeba poczy T0 znapiciem +3,3. Po rozwarciu zworki stan niski jest wymuszany przez rezystor R7. Styki przeczajce aktywny efekt trzeba doczy do zcza J2. Sekwencyjna zmiana efektu nastpuje po zwarciu linii RB4 (gra) lub RB5 (d) do masy. Numer wybranego efektu jest zapisywany w pamici EEPROM mikrokontrolera. Po wyczeniu i ponownym wczeniu efektu zawsze si ustawi ostatnio zapamitany numer. Pytk drukowan efektu pokazano na rys. 8. Praktycznie wszystkie elementy oprcz mikrokontrolera, opcjonalnej pamici EERPOM i potencjometrw oraz gniazd wejciowego iwyjciowego s wobudowach do montau powierzchniowego. Jednak ich wielko irozstaw nek nie sprawiaj adnych problemw wtrakcie montau komu, kto ma odrobin wprawy w lutowaniu elementw SMD. Oprcz gwnej pytki trzeba zmontowa ma pytk, na ktrej jest tylko wywietlacz LED. T pytk trzeba przez listw ktowych goldpinw poczy z gwn pytk przez zcze J8. Wten sposb wywietlacz jest wjednej paszczynie zpotencjometrami igniazdami. Po zmontowaniu trzeba sprawdzi poprawno napicia zasilajcego i mona przystpi do programowania pamici. Jeeli wykorzystuje si pami EEPROM w obudowie SMD, to do zcza J5 doprowadzamy sygnay SDA, SCL i GND programatora. Ja do zaprogramowania uyem programatora T51prog rmy Elnec. W podstawce programatora umieciem podstawk DIL8 z przylutowanymi trzema przewodami do nek: 4 MASA, 5 SDA, 6 SCL. Te kable potem doczyem do zcza J5 (rys.7). Za pomoc tak spreparowanego kabelka programowanie przebiega bez problemu, oczywicie po wczeniejszym zasileniu ukadu. Mona te wykorzysta pami wobudowie do montau przewlekanego, zaprogramowa j wprogramatorze, a potem umieci w podstawce na pytce. Oba sposoby s dobre.

Tab. 2. Programy demonstracyjne udostpniane przez rm Spin SemiconductorNr efektu # 0 1 2 3 4 5 6 7 Nazwa efektu Pot0 program Chorus Flange Tremolo Echo Echo/rpt Wah Vibrato Phase reverb Reverb Reverb Reverb Reverb Reverb Reverb Reverb Reverb Regulacje Pot1 variable Rate rate Rate Delay time Delay time Sensitivity Rate Rate Pot2 Effect level Level Level/regen Depth Level Level Level/peaking Level Width

pliku. Pracownik pomocy technicznej rmy Spin stwierdzi, e plik by najprawdopodobniej kompilowany starsz wersj kompilatora, ktr generowa plik wynikowy zbdami. Zaproponowa te eby pliki rdowe skompilowa na nowo najnowsz wersj kompilatora. eby to zrobi, trzeba ze strony producenta pobra plik instalacyjny SpinSetup_1_1_28.msi i zainstalowa pakiet SpinAsm IDE. Na rys. 9 pokazano okno programu z otwartym oknem menedera testowej aplikacji omiu efektw. Wkadym zomiu okien jest wywietlona cieka dostpu do pliku rdowego konkretnego efektu. Okno moe nie by aktywne i wtedy w obszarze odpowiadajcego mu programu nie zostanie nic zapisane. W IDE mona otwiera i edytowa pliki rdowe. Kiedy projekt jest gotowy, wtedy na dole menedera wybiera si trzy opcje dziaania: generowanie pliku hex wformacie Intel, generowanie wersji rdowej lub zaprogramowanie pamici EERPOM. Plik Intel Hex jest niezbdny do zaprogramowania pamici przez zewntrzny programator i ta opcja bdzie dla nas najbardziej interesujca. Po skompilowaniu tym razem nie byo problemu zwczytaniem pliku do programa-

tora i zaprogramowaniem pamici. Druga opcja pliku rdowego jest rwnie bardzo ciekawa, bo w wyniku kompilacji jest tworzonych osiem tablic (po jednej dla kadego z programw), ktre mona wklei do programu napisanego w jzyku C. Mona to wykorzysta do zbudowania czego w rodzaju mikroprocesorowego sterownika, ktry bdzie midzy innymi adowa program do pamici EEPROM. Trzecia opcja jest uywana do kompilacji i przesania wyniku do rmowego moduu ewaluacyjnego rmy Spin. rodowisko SpinAsm IDE jest niezastpione wtrakcie pracy nad projektem. Oprcz moliwoci kompilacji automatycznie s przyznawane obszary pamici dla poszczeglnych programw.

Rys.9. Okno programu SpinAsm IDE

ProgramowanieProgramy mona napisa samodzielnie, ale na pocztek najlepiej jest skorzysta z przykadowych programw przygotowanych przez producenta i udostpnionych na stronie internetowej http://www.spinsemi. com/app_download/GA_DEMO_programs. zip. Po cigniciu i rozpakowaniu mamy do dyspozycji projekt zprogramami demonstracyjnymi omiu efektw (tab. 2). Kady z programw ma wbudowan funkcj pogosu Reverb regulowanego potencjometrem Pot0. W pakiecie demonstracyjnym jest te umieszczony plik wynikowy. Niestety, zaprogramowanie plikiem, ktrym ja dysponowaem, nie byo moliwe, poniewa programator zgasza bdy CRC dla kadej z linii

Rys.10. Dziaanie efektu Pitch Shift ELEKTRONIKA PRAKTYCZNA 12/2009

30

Cyfrowy efekt gitarowy

Uchem gitarzysty...

dziesitki efektw, czasem Przez redakcj Magazynu Gitarzysta przewijaj si efekt zbudowany przez ekip AVT najsynniejszych marek w brany gitarowej. Multi oferuje s nie tylko doprzeszed moje najmielsze oczekiwania. Barwy jakie ie efektw gitarowych nie jest bre jakociowo, ale rwnie uyteczne (co w wiec barwach po prostu chce si takie oczywiste, jakby si mogo wydawa). Na tych (audio znajdziecie na zagra. eby to udowodni nagraem kilka przykadw czonym CD). Poniej opis kolejnych prbek: 1 2 3 4 5 6 7 8 i syszanych dwikw, krtki, pojedyncze echo uyty do zdwojenia iloc chorus podbarwiajcy rozoone akordy, tremolo uyte w celu uzyskania efektu retro, delikatne echo dodajce przestrzeni solwce, gone echo speniajce rol drugiego gosu, automatyczne wah (ltr) idealne do riffw funky, iksa, intensywny chorus imitujcy Univibe i styl J. Hendr gitary + dugie echo). tekstury przypominajce syntezator (gaka VOLUME Krzysztof Inglik Magazyn Gitarzysta

UruchomieniePo zmontowaniu izaprogramowaniu rmowymi programami demonstracyjnymi pamici EEPROM mona przystpi do sprawdzania dziaania. Napicie zasilajce o wartoci minimalnej +6 V trzeba doczy do zcza J3. Wedug specykacji producenta sygna wejciowy powinien mie amplitud nie wiksz ni 0,5Vpp. Do pierwszych testw uyem standardowo generatora czstotliwoci akustycznych i oscyloskopu. Mona w ten sposb sprawdzi, po pierwsze, czy ukad wogle dziaa. Wane jest te sprawdzenie, czy nie ma wzbudze lub szumw na wyjciu. Oczywicie takie testy s niezbdne dla nowo projektowanej konstrukcji iwpraktyR E K

ce uruchamiajc urzdzenie prawidowo zaprojektowane, mona ten etap pomin. Bardziej dociekliwi mog zobaczy, jak wyglda sygna wyjciowy po modykacji przez tor efektu. Na rys. 10 pokazano zrzut ekranu oscyloskopu podczas generowania jednego z efektw. Na wejcie efektu podaem sygna o czstotliwoci 1 kHz i amplitudzie ok. 500mV. Przebieg wejciowy jest widoczny na dole ekranu (kolor niebieski). Drugi przebieg na oscylogramie jest mierzony na wyjciu efektu przy ustawieniu fabrycznie umieszczonego w pamici ROM efektu numer 3 Pitch Shift. Wybraem ten efekt, bo jego dziaanie jest dobrze widoczne na statycznym zrzucie, ale zmiana sygnau wyjciowego wskutek dziaania innych efektw L A

rwnie daje pojcie otym, jak funkcjonuje dany algorytm. Uruchomiony ukad mona sprbowa wpi w tor wzmacniacza. Producent przestrzega, eby sygna zwyjcia ewentualnego efektu distotion by sygnaem wejciowym dla FV-1 anie odwrotnie. Na koniec pozostaje jeszcze kwestia dostosowania testowych programw do wasnych potrzeb. Tory wzmacniaczy mog si rni midzy sob na przykad czuoci. By moe niezbdna bdzie modykacja takich parametrw, jak na przykad poziom sygnau wyjciowego. Programy przykadowe producenta mog by do tego celu znakomitym pocztkiem.

Tomasz Jaboski, EP [email protected] A

ELEKTRONIKA PRAKTYCZNA 12/2009

31