Falcon a zvukSokol


Jestli je Falcon v necem opravdu delo , tak ve zpracovani zvuku

To muzete ostatne posoudit sami:16 bitovy stereo zvuk a DSP pro libovolne manipulace se zvukovymi daty. To vse podporovane softwarem. Ale podivejme se zvukovym moznostem Falcona trochu vice ’na zoubek’:

Na prvnim obrazku vidite celkove schema zvukoveho subsystemu. Principielne obsahuje 4 vstupy signalu a 4 vystupy. Vsechny jsou propojeny multiplexerem, ktery zprostredkovava propojeni jednotlivych komponent.

Od vstupu signalu...

16 – bitovy stereo A/ D prevodnik (ADC) Cislicove – analogovy prevodnik je pripojen na mikrofonni vstup na konektoru na zadni strane Falcona. Vstupni stereo signaI je preveden na dve 16 – bitove hodnoty (jedna pro levy a druha pro pravy kanaI). Obe cisla mohou byt z rozsahu od – 32768 do +32767. Nenili nic zvenci pripojeno, poskytuje prevodnik hadnotu 0. Pro oba kanaly zaroven je navic mozno nastavit vstupni zesileni (gain) v rozsahu 0 – 15. Volitelne muze byt vstup ADC pripojen i na vystup PSG (programovatelny zvukovy generator), coz je v podstate stary dobry Soundchip Yamaha, ktery je ve Falconu kvuli kompatibilite s ST. Zde je ovsem ukryt v zakaznickych obvodech.

DMA prehravani

Tento DMA kanal umoznuje cteni dat z pameti bez ucasti hlavniho procesoru. To znamena, ze procesor pri techto operacich neni temer vubec brzden. Maximalni prenosova rychlost tohoto kanalu je okolo 1 MB za MB za sekundu. Prehravani dat muze probihat bud’ jednorazove, neba v tzv. Loop – modu. Potom je usek pameti prehravan porad dokola. Je mozne take ziskat adresu mista, ktere je prave cteno. Pri dosazeni konce bufferu je Ize vyvvolat preruseni Timer – A nebo MFP – 7.

DSP vystup

DSP system je propojen s audiosystemem pomoci sveho SSI rozhrani. Je to seriove vysokorychlostni rozhrani s max. prenosovou rychlosti 1 MB/s. Moznostmi DSP se budeme zabyvat jinde, nebot nejsou omezeny jen na zpracovani zvuku.

Externi vstup

Druhym seriovym rozhranim je vnejsi vstupni kanal, ktery ma sve vodice na DSP – konektoru na zadni stene pocitace. Je tedy mozne snadno data do systemu privadet zvenci.

..k vystupum

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 nahravani

Tento 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 vstup

DSP 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.

Spojovnik

Uprostred 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 frekvence

Pri 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 rychlost

Stereo - 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:

  1. 1k 1L,1R,1L.1R.1L.1R.1L.1R.1L.IR...
  2. bl 2k 1L.1R,2L.2R.1L.1R,2L.2R.1L. 1R...
  3. 3k 1L.1R.2L.2R.3L.3R.IL.1R.2L,2R...
  4. 4k 1L.1R.2L.2R.3L,3R.4L.4R.1L.IR...

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.

Praxe

V 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 kabliky

Je 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.