Obsah
1. Zvukové karty používané v současných počítačích
2. Specifikace Audio Codec AC'97
3. Připojení čipů kompatibilních s AC'97
4. Struktura čipů kompatibilních s AC'97
5. Vstupní i výstupní zvukové kanály a jejich parametry
6. Zpětná kompatibilita Audio Codec AC'97
7. Odkazy na Internetu
1. Zvukové karty používané v současných počítačích
Vývoj zvukových karet se v současné době ubírá několika navzájem odlišnými směry. První směr představují multifunkční čipy, které zajišťují jak podporu pro generování (syntézu) i záznam zvuku, tak i rozhraní pro dnes již poměrně málo používané analogové modemy určené pro telefonní linky. Tyto čipy, které většinou odpovídají specifikaci AC'97 popsané níže, mají poměrně jednoduchou interní strukturu, protože se ve skutečnosti jedná pouze o sadu několika analogově-digitálních a digitálně-analogových převodníků, popř. i analogových multiplexerů doplněných o vstupní či výstupní zesilovače. O vlastní syntézu hudby i o vytváření analogových signálů pro modem (či naopak o převod analogového signálu přečteného z telefonní linky na binární data) se z velké části stará obslužný program. Tento směr vývoje zvukových karet je tedy založen na myšlence náhrady specializovaných obvodů a DSP (digitálních signálových procesorů), které bývaly umístěny na zvukové kartě, výkonným univerzálním mikroprocesorem.
Obrázek 1: Zvuková karta odpovídající specifikaci AC'97 ve skutečnosti obsahuje pouze několik D/A a A/D převodníků doplněných o analogový mixér a zesilovače. Jediný digitální výstup je přiváděn na konektor S/PDIF.
Další směr vývoje představují zvuková zařízení připojovaná buď na externí sběrnici USB nebo samostatná zařízení vybavená ethernetovou přípojkou – viz první obrázek, na němž se nachází zvukové zařízení firmy Turtle Beach, které je možné připojit na libovolný počítač vybavený sběrnicí USB (u zařízení vyráběných touto firmou si můžeme být jisti kvalitou, takže se jedná o ideální doplněk k notebookům, jejichž zvukové čipy, zesilovače a interní reproduktory většinou příliš kvalitní nejsou). Tato zařízení buď obsahují pouze digitálně-analogové a analogově-digitální převodníky (samozřejmě doplněné o čip, který se stará o komunikaci po USB sběrnici či síti Ethernet) ovládané programem z počítače, nebo se jedná o plnohodnotné syntetizéry s vlastní pamětí, v níž jsou uloženy vzorky hudebních nástrojů používaných při wavetable syntéze. Předností těchto zařízení je, že se s jejich pomocí dá zvuk přenášet i na velké vzdálenosti v binární podobě, takže při přenosu nedochází k nežádoucí ztrátě kvality – převod binárních dat na analogový signál je proveden až v blízkosti zesilovače.
Obrázek 2: Externí zvukové zařízení firmy Turtle Beach, které se k počítači připojuje přes externí sběrnici USB.
2. Specifikace Audio Codec AC'97
Poměrně velké množství osobních počítačů používaných v současnosti již není vybaveno samostatnou zvukovou kartou (určenou například pro interní sběrnici PCI či externí sběrnici USB), ale obvodem pro generování zvuku, který odpovídá specifikaci AC'97 vytvořené firmou Intel (zařízení většinou implementují verzi 2.2 specifikace, popř. novější specifikaci IHDA, kterou si popíšeme příště). Při generování (syntéze) zvuku či naopak jeho záznamu obvodem odpovídajícím této specifikaci jsou sice stále používány základní moduly, které jsme si již popsali v předchozích částech tohoto seriálu (analogově-digitální i digitálně-analogové převodníky, zesilovače), ale vlastní generování tónů či šumu v jednotlivých zvukových kanálech a jejich následné mixování a filtrace je prováděno programově. V případě, že je použita wavetable syntéza (což je dnes stále nejpoužívanější forma zvukové syntézy), jsou vzorky hudebních nástrojů uloženy v operační paměti, odkud si je načítá program, který se o zvukovou syntézu stará.
Obrázek 3: Logo používané u zařízení odpovídajících specifikaci AC'97.
Vývoj zvukových karet (zde spíše jen čipů než celých karet) se tak oklikou po více než dvaceti letech vrátil ke svému počátku, protože také některé první obvody pro generování zvuků byly založeny na programové syntéze s využitím mikroprocesoru počítače (na počítačích kompatibilních s IBM PC se jednalo například o zařízení typu Covox a v určitém ohledu i všechny Sound Blastery až do verze Sound Blaster 16). To, že je v případě použití čipu AC'97 pro zvukovou syntézu potřebné použít speciální programové vybavení a poměrně výkonný mikroprocesor, již není v dnešní době ovladačů s unifikovaných rozhraním a mikroprocesorů s frekvencemi v řádu GHz problematické, naopak to vede (alespoň u těch uživatelů, kteří nevyžadují vyšší kvalitu zvuků a hudby) ke snížení celkové ceny počítače vybaveného zvukovými obvody (ale i modemy) odpovídajícími AC'97. Především z tohoto důvodu se můžeme s čipy AC'97 setkat jak v běžných desktopech, tak i noteboocích. Pro správnou funkci je však zapotřebí mít nainstalované potřebné ovladače, což je poměrně velký rozdíl oproti starším zvukovým kartám určeným pro sběrnice ISA a později PCI, které do značné míry pracovaly samostatně, protože zvuková syntéza byla prováděna přímo na zvukové kartě.
Obrázek 4: Jeden z čipů odpovídajících specifikaci AC'97. Počet pinů se u těchto čipů liší, většinou však mívají 48 či 64 vývodů.
3. Připojení čipů kompatibilních s AC'97
Celý zvukový subsystém počítače je v případě použití AC'97 implementován ve dvou modulech. První modul se nazývá AC'97 digital controller, zkráceně též DC97. Ten je integrován do čipů umístěných přímo na základní desce, podobně jako řadič PCI sběrnice (což mj. znamená, že se v naprosté většině případů nejedná o samostatný čip, ale o součást South Bridge – viz též čtvrtý obrázek). Modul DC97 komunikuje pomocí interní obousměrné sériové linky nazvané AC-Link s takzvanými kodeky (AC97 codec), jejichž konkrétní umístění v počítači se liší podle jeho konfigurace. Kodek může být nainstalovaný na základní desce jako samostatný čip (což je dnes pravděpodobně nejčastější případ), nebo se může jednat o zařízení umístěné na sběrnici CNR (Communication and Networking Riser) či AMR (Audio Modem Riser). K jednomu digital controlleru (DC97) je možné zapojit minimálně dva kodeky, takže je možné mít v jednom počítači podle potřeby nainstalováno i větší množství zvukových zařízení a modemů.
Obrázek 5: Interní struktura South Bridge, který mimo dalších bloků obsahuje i AC'97 digital controller.
Nejdůležitějšími vodiči, které tvoří fyzickou vrstvu sériového rozhraní AC-linky, jsou SDATA_IN0, SDATA_IN1 (serial data in), SDATA_OUT (serial data out), SYNC, RESET a BIT_CLK (bit clock). Vodiče jsou označeny z logického pohledu řadiče, tj. například po vodiči označeném SDATA_OUT se přenáší data z řadiče (DC'97) do všech kodeků (z jejich pohledu se naopak jedná o vstupní vodič, nehledě na jeho označení). Rozlišení jednotlivých zařízení umístěných na jednom kodeku je zajištěno přímo v přenosovém protokolu AC-linky. Na následujícím obrázku můžeme vidět zapojení pinů čipu odpovídajícího specifikaci AC97 kodeku, který je multifunkční, protože dokáže zvuk generovat i zaznamenávat, zpracovávat další vstupy (CD, externí mikrofon) a současně slouží i jako modem (resp. tvoří část modemu, která se stará o vytváření a zpracovávání analogových signálů přenášených po telefonní lince, protože všechny další funkce modemu jsou již implementovány pomocí obslužného programu).
Obrázek 6: Obvod odpovídající specifikaci AC'97. Piny na levé, horní i pravé straně obvodu slouží převážně pro vstup či výstup analogových signálů; piny na straně spodní jsou z velké části připojeny k řídicím obvodům čipové sady základní desky – můžeme zde vidět jak vstupní a výstupní piny SDATA_IN a SDATA_OUT, tak i hodinový signál BIT_CLK, pomocí nichž je na linkové vrstvě vytvořeno obousměrné sériové spojení.
Obrázek 7: Způsob propojení řadiče DC'97 s jednotlivými kodeky. Řadič by měl umět komunikovat minimálně se dvěma kodeky, tj. musí obsahovat dvojici signálů SDATA_IN0 a SDATA_IN1. Povšimněte si, že výstupní vodič je jen jeden – SDATA_OUT, protože rozlišení jednotlivých zařízení je zajištěno přenosovým protokolem (každý přenášený blok obsahuje v hlavičce identifikaci zařízení).
4. Struktura čipů kompatibilních s AC'97
Na osmém obrázku je zobrazena interní struktura čipu, který odpovídá specifikaci AC'97 kodeku. Na levé straně jsou zobrazeny vstupy a výstupy určené pro připojení čipu k AC-lince, přes kterou se data přenáší sériovým způsobem. Uvnitř čipu se nachází sada 64 konfiguračních registrů, vyrovnávací paměť a především sada D/A a A/D převodníků. Šedé bloky nemusí být na všech čipech odpovídajících specifikaci AC'97 přítomné, bílé bloky by se však měly nacházet na všech počítačových systémech (ovšem ne vždy jsou všechny vstupy a výstupy skutečně vyvedeny na příslušné konektory). Většina zvukových vstupů a výstupů je analogových (ať už zesílených, nezesílených či impedančně přizpůsobených připojenému zařízení), jedinou výjimkou je konektor S/PDIF, přes nějž se přenáší komprimovaná data v digitální podobě. Důležitým blokem je „Analog Mixing and Gain Control“ – jedná se o konfigurovatelnou propojovací matici, ve které lze navzájem téměř libovolným způsobem zmixovat jednotlivé vstupní i výstupní analogové signály.
Obrázek 8: Interní bloková struktura čipu odpovídajícího specifikaci AC'97.
5. Vstupní i výstupní zvukové kanály a jejich parametry
Specifikace AC'97 taktéž předepisuje parametry zvukových kanálů. Podporovány jsou tři konfigurace výstupních kanálů: monofonní výstup, stereofonní výstup a takzvaný režim multichannel, při jehož použití lze zvuk přenášet až do šesti reproduktorů (jedna z možných konfigurací je Dolby 5.1). Jednotlivé vzorky (samply) mohou mít 16, 18 či 20 bitů, samplovací frekvence dosahuje až 48 kHz. V novější specifikaci AC'97 v 2.2 je taktéž určeno, že pro dva hlavní kanály, tj. pravý a levý reproduktor, lze použít vzorkovací frekvence v rozsahu 88,2 až 96 Khz, což odpovídá dvojnásobku frekvencí 44,1 a 48 kHz používaných při běžném zpracování zvuku. Firma Intel tento režim nazvala vcelku přiléhavě Double Rate Audio neboli DRA. Při pohledu na maximální povolené vzorkovací frekvence, bitovou šířku jednotlivých vzorků (samplů) a celkový počet D/A a A/D převodníků by se mohlo zdál, že je nutné, aby přenosová rychlost AC-linky byla velká. Ve skutečnosti je na základě specifikace AC'97 použita rychlost 12,576 Mbit/s, která je v praxi využita pouze z cca jedné pětiny.
Obrázek 9: Možné kombinace vstupních a výstupních zvukových kanálů.
Obrázek 10 a 11: Pokud má interní zvuková karta vyvedeny pouze konektory pro levý a pravý reproduktor, lze použít přídavnou kartu tak, jak je naznačeno na těchto dvou obrázcích.
Obrázek 12: Zvuková karta, která doplňuje dva hlavní kanály (pravý a levý) o výstup pro subwoofer a dva okrajové reproduktory. Lze ji například použít při konfiguraci odpovídající Dolby 5.1.
6. Zpětná kompatibilita Audio Codec AC'97
Podle specifikace firmy Intel by měly zvukové obvody nesoucí označení AC'97 (compatible) a především jejich programové vybavení plně emulovat jak čip OPL3, tak i veškeré funkce zvukové karty Sound Blaster, a to až na úroveň jednotlivých řídicích registrů (což mj. znamená, že by mělo být možné používat tyto čipy i v DOSu jako plnohodnotnou náhradu Sound Blasterů). Teoreticky je sice tato podpora zajištěna, ale ve skutečnosti bývá především emulace FM syntézy, tj. čipu OPL3 (Yamaha YMF 262) velmi slabá – původnímu zvuku OPL3 se mnohdy ani vzdáleně neblíží (z tohoto důvodu používá například DOSBox – emulátor počítače s nainstalovaným DOSem – vlastní emulaci OPL2/3 a nespoléhá se na schopnosti ovladačů zvukových karet).
Obrázek 13: Plnohodnotná zvuková karta, kterou lze zapojit do konektoru CNR, na nějž je vyvedena AC-linka. Tuto kartu lze používat současně se zvukovým čipem umístěným na základní desce počítače.
7. Odkazy na Internetu
- Digigram
www.digigram.com - PCX9/PCX9 PCI
http://www.digigram.com/products/getinfo.php?prod_key=8950 - PCX924
http://www.digigram.com/products/getinfo.php?prod_key=8350 - Sell PCX9 Digigram (zde se dají relativně levně nakoupit karty PCX9)
http://www.macmusic.org/ads/view.php/lang/en/id/18894/Digigram-PCX9 - Turtle Beach Systems
http://en.wikipedia.org/wiki/Turtle_Beach_Systems - Voyetra Turtle Beach, Inc.
http://www.turtlebeach.com/company.aspx - Turtle Beach MultiSound Project
http://www.alasir.com/software/multisound/index.html - Beyond AC97 Audio Controller
http://www.beyondsemi.com/page/products/interface_cores/beyond_ac97_audio_controller2 - Norma Intel Audio Codec AC'97 a jej praktické použitie
http://www.svethardware.cz/art_doc-AA4F07CB2C0381B3C12569FC00599998.html - AC'97
http://en.wikipedia.org/wiki/Ac97 - AC'97 Component Specification, Revision 2.3, Intel Corporation, April 2002
http://download.intel.com/support/motherboards/desktop/sb/ac97_r23.pdf - Front Panel I/O Connectivity Design Guide Intel Corporation, February 2005, Version 1.3
http://www.formfactors.org/developer/specs/A2928604–005.pdf - S/PDIF
http://en.wikipedia.org/wiki/S/PDIF - SPDIF
http://www.epanorama.net/documents/audio/spdif.html - S/PDIF C Channel Information
http://www.minidisc.org/spdif_c_channel.html - AES/EBU
http://en.wikipedia.org/wiki/AES/EBU