Falcon a zvuk
16 bitovy stereo D/A prevodnik (DAC) DAC prevadi cislicova data zpet na analogovy signal, ktery pak vystupuje na sluchatkovem konektoru Falcona. Zaroven je tento signal pripojen i na audio signal na monitorovem konektoru a take na interni reproduktor. Prevodnik vyzaduje po jednom 16 bitovem slove pro kazdy kanal. Zesileni kazdeho kanalu muze byt regulovano, hodnota je mezi 0 15 (tzv. attenuation, t.j. utlum), 0 znamena maximalni zesileni, pri 15 neni temer uz nic slyset. Prevodniku je prediazena hardwarova 16- bitova scitacka, ktera ma dva vstupy. Jednim z nich je primo vystup AD predovniku, coz realizuje primou cestu signalu ze vstupu na vystup bez vnitriniho zpracovani. Tim je umozneno si poustet signal z mikrofonu rovnou do sluchatek. Ovsem dulezitejsi moznosti je mixovani neupraveneho signalu s daty zpracovanymi ve Falconu. Na scitacku, ADC a DAC je nahlizeno jako na celek s nazvem CQDEC (CODer/DECoder). DMA nahravaniTento DMA kanal umoznuje zapis dat do pameti bez ucasti procesoru. Prenosova rychlost je take max. 1 MB/s a je tez mozny rezim Loop mode. Take zde je mozno zjistit prave zapisovanou adresu a vyvvolat pri dosazeni konce bufferu preruseni. DMA nahravani a prehravani vyuziva 32 bytovy FIFO buffer (First In, Fir- st Out), coz znamena, ze data jsou ctena/zapisovana v davkach po 32 bytech. Je tak umozneno optimalni vyuziti pristupu ke sbernici. DSP vstupDSP muze prostrednictvim SSI rozhrani data nejen vysilat, ale tez prijimat. Je treba mozne propojit DMA kanaly s SSI rozhranim a provadet tak zapis a cteni pameti na ruznych adresach najednou (!). Externi vystup Data z Falcona mohou vystupovat i v cislicove forme, signaly externiho vystupu najdeme na DSP konetoru. SpojovnikUprostred celeho zvukoveho systemu Falcona truni multiplexer. Rika se sice, ze vsechny cesty vedou do Rima, ale ve Falconu je vsechno trochu slozitejsi. Multiplexer totiz umoznuje vytvorit signalovou cestu mezi libovolnym vstupem a vystupem. Multiplexer je v postate mati ce 4x4, kde radky jsou zdroje signalu a sloupce jeho spotrebice (viz druhy obrazek). Je take mozne propojeni vice vstupu na jeden zdroj a samozrejme mohou zdroje data vysilat najednou. Je tedy mozne propojit. libovolny pocet bodu matice v radce, ale jen tak aby v kazdem sloupci bylo pouze jedno propojeni Toto usporadani je natolik flexibilni, ze umoznuje v podstate vsechny myslitelne kombinace. Napr. na druhem obrazku jdou data z AD prevodniku do pameti pomoci DMA) a do DSP pro dalsi zpracovani. Nad ulozenymi daty pak muze DSP provadet ruzne efetkove operace napr. Hall). Data z DSP pak jdou na DA prevodnik a v analogove podobe ven z pocitace a na reproduktor. Taktovaci frekvencePri toku cislicovych dat musi byt mezi prijimacem a vysilacem prizpusoben protokol a taktovaci frekvence Ta ma 3 zdroje: interni 25.175 MHz intertni 32 MHz externi takt (na conektoru DSP) Kazdy cast zvukoveho systemu muze fungovat s libovolnym zdrojem, jen CODEC nepracuje s 32 MHz. Hlavni taktovaci frekvence je pak programovatelnymi predelickami delena hodnotou 4 24 (nastaveno v krocich po 2). Napr. pri zakladnich 32 MHz a deleni 4 je vysledek 8 MHz, coz reprezentuje 1 MB / sa to je prave prenosova rychlost SSI rozhrani V AD prevodniku hraje velkou roli samplovaci frekvence. Audiosystem je schopen zpracovavat 4 stereofoni kanaly najednou, coz znamena na kazdou samplovaci periodu 4x2 datova slova, coz je celkem 128 bitu Realna samplovaci frekvence je tedy dana vstupni frekvenci, preddelickou a jeste delenim 128. Maximalne tedy 25.175 MHz / 4 / 12B = 49170 Hz. S externim taktem 22.5792 MHz a predelenim 4 je samplovaci frekvence 44.1 kHz, coz je presne kmitocet CD. Stejne tak rychlost DMA kanalu 1 MB/s souvisi s navrhem sbernice Falcona Pri silnem pouzivani sbernice (nagr. pristup dalsiho DMA za- rizeni nebo prace s videopameti v True Color) se muze stat, ze se sbernice jednoduse zahlti. Potom. zavisi na navrhu protokolu kominikace kterym muze byt bud kontinualni prenos nebo vyuziti handshake Pri prenosu zvukovych dat dat zas kriticky nevadi kdyz nejaky bajtik vypadne, mnohem dulezitejsi je konstantni rychlost prenosu Proto se pouziva rezim kontinualniho prenosu Pri prenosu DSP dat (a predevsim programu) se ovsem nesmi zadna informace ztratit a proto se pauziva handshake mod. Ten ovsem zarucenou konstantni prenosou rychlostStereo - o - o - o - Zatfm jsme se bavili jen o tom, ze se data odnekud nekam prenaseji. Zaroven ale vime, ze prevodniky jsou stereo. Jak je tedy kodovkna informace praveho a leveho kanalu? Melo by to objasnit nasledujici schema:
Kazda polozka xL resp. xR zanmena jednu 16-bitovou hodnotu ulozenou v paneti pro levy resp. pravy stereo kanal. Jak je videt, system muze pracovat najednou se 4 stereo kanaly, coz. souvisi i s vypocty maximalni samplovaci frekvence . Bohuzel DAC je schopen prehravat pouze jeden stereofonni kanai a pokud je nastaven vetsi pocet, jsou ostatni data, ktera nepatri kanalu 1, proste ignoruje. Pokud by melo byt prehravano vice kanalu, je nutna je digitalne smichat. K tomu je zcela optimalni vyuzit sluzeb DSP, ktery tyto operace dokaze provadet v realnem case a navic se tim neobtezuje hlavni procesor (CPU). Data z DSP je ovsem mozno posilat ven i primo v cislicove forme a nejakyrn vnejsim zarizenim je vicekanalove prehravat (napr. 4 stereo prevodniky apod.). Kazdemu hardware vdechne zivot az odpovidajici obsluzny software. Operacni system pak nejen usnadnuje praci programatorum, ale navic podporuje rozumne vyuziti vsech moznosti i v ramci multitaskinkovych aplikaci. Aby to jeste nebylo vse, je zachovana registrova kompatibilita s HW na STE/TT (DMA zvuk). Vse se ovlada pomoci sluzeb XBIOSu, jejichz popis najdete na konci. PraxeV originlinim clanku v ST Compute- ru 11/92 je dale uveden zdrojovy text programu v jazyce Pure C, ktery ukazuje pouziti zvukoveho hardware Falcona. Program je spustitelny i jako accessory a funguje jako osciloskop, ktery v GEMovem okne ukazuje samplavany prubeh vstupniho signalu v reainem case. Kabely a kablikyJe sice hezke, ze Falcon umi zazracne veci se zvukem, ale je take dulezite do nej ten zvukovy signal dostat. Mikrofonni vstup je totiz tzv. Low-gain, tj. nizkourovnovy. Je tedy mozne bez problemu piipojit nejaky levny elektretovy mikrofon bez zesilovace. POZOR, protoze je pocitano s pripojenim prave takovych mikrofonu, je na vstupu i stejnosmerne napajeci napeti ! V pripade nouze vyhovi i obycejna sluchatka od walkmana, staci je praste zastrcit do vstupnfho konektoru (po kud neverite, tak to zkuste, opravdu to funguje...). Pokud ovsem chceme pripojit napr. vystup CD prehravace nebo Tape-Decku, je nutno signaI trochu upravit, nebot takove zarizeni maji signaI na linkovem vystupu prilis silny. Staci ale nekam do ko- nektoru nebo ke kabelu pribastlit (fuj, to je slovo) seriovy odpor (pro kazdy kanal stereo prave jeden). Jeho velikost zavisi na nastaveni vstupniho zesileni Falcona (Gain) nastaveneho funkci soundcmd(). Pripripojeni normalizovaneho Hi Fi zarizeni Ize pouzit nasledujici rovnici: R = 15.93 [kOhm] * 10 (0.075 * N) kde N je vstupni zesileni 0 15. Aby tedy pri maximalnim zesileni (N=15) nebyl vstup prebuzen, mel by mit odpor R = 212 kOhm. Pokud se pouzije mensi hodnota, napr. 127 kOhm pro N=12, je omezen i rozsah vstupniho zesileni, zde 0 12. Jinak muze dojit k prebuzeni vstupu. Sluchatkovy vystup Falcona je mozno pripojit na vstup externiho zarizeni bez jakekoliv upravy. Pro nastaveni parametru prehravani vnitinim reproduktorem je mozno pouzit XControl accessory. Zde se zaroven tento reproduktor zapina. |