Převod audio PCM na sběrnici UART

Jiří Gasnárek
xgasna00stud.feec.vutbr.cz

Obsah:

  1. Úvod
  2. Řešená problematika
  3. Závěr
  4. Soubory

Úvod

Následující řádky budou popisovat komunikaci mezi A/D převodníkem a WiFi modulem se sběrnicí UART. Praktická stránka věci zatím není zpracována, takže se bude jednat spíše o teoretický rozbor problému.

Řešená problematika

V rámci příprav na diplomovou práci „Využití bezdrátových technologií k přenosu audio signálu“ jsem řešil dílčí problém komunikace A/D (D/A) převodníku s modulem bezdrátového přenosu.
Nápad byl takový, že převodníkem bude zpracován vstupní signál, který poputuje do bezdrátového modulu, aby byl přenesen do přijímače a následně převeden D/A převodníkem zpět na audio signál pro další použití. A/D převodník jsem vybral z dílny Texas Instruments PCM4202 (blokové schéma na obr. 1) a řešil jsem propojení s WiFi modulem ConnectOne MiniSocket iWiFiTM, které používá sběrnici UART s rychlostí až 3Mb/s. Základním kamenem úrazu byla rozdílná sběrnice, kdy PCM4202 vysílá data pomocí tří vodičů BCK, LRCK a DATA, ale WiFi modul má možnost připojení pouze sériové sběrnice, dva vodiče - hodinový signál a data.

Obr. 1: Blokové schéma A/D převodníku PCM4202

Požadavkem je přijmutí PCM audio formátu a zakódování do souvislého bitového toku, který bude moci být vyslán přes WiFi. Původním nápadem bylo použít jednoduchý mikrokontrolér s pamětí, který by načítal data z převodníku a převáděl je na seriová s dodatečným bitem, který by označil levý nebo pravý kanál. Jednalo by se de fakto o posuvný registr FIFO (first in, first out). Pak jsem na stránkách Texas Instruments zjistil, že společnost vyrábí za tímto účelem audio transmiter DIT4192 s AES3 enkodérem (viz obr.2), který dělá přesně to, co jsem potřeboval.

Obr. 2: Blokové schéma transmiteru DIT4192

Vzhledem k tomu, že je první část projektována jako jednosměrný vysílač, bude implementace transmiteru poměrně jednoduchá - umožňuje přímé propojení s A/D převodníkem, důležité je nastavení jednotlivých prvků. A/D přeovodník musí být jako master zařízení, které bude řídit vstup transmiteru. Možné datové formáty jsou Left- nebo Right Justified, popřípadě I2S formát (obr. 3).
AES3 enkodér zajišťuje, že se mezi jednotlivé datové rámce (délky 24 bitů) zakóduje informace, zda jde o pravý nebo levý kanál. Tzn. vezme 24 bitů z převodníku, přidá hlavičku, zakódovaný kanál, kontrolní bity a paritní bity - vytvoří z toho jeden rámec s délkou 32 bitů, který pošle do vysílače TX. Datový formát AES3 je na obr. 4.

Obr. 3: Výstupní datové formáty A/D převodníku


Obr. 4: Výstupní datový formát AES3 enkodéru

Daná sériová data jsou pak přijímána sběrnicí UART WiFi modulu, kdy je port RX připojen k TX transmiteru, TX modulu není zapojeno. Signály RTS a CTS UART sběrnice jsou propojeny mezi sebou a RTS je nastaven na LOW (připojen k digitální zemi). Schéma zapojení modulů je na obr. 5.

Obr. 5: Schéma propojení výstupů a vstupů modulů

Oba obvody jsou řízeny stejným hodinovým signálem (SCKI - MCLK), synchornizaci předávaných dat řídí odvozený signál BCK (SCLK). Přepínání pravého a levého kanálu řídí signál LRCK (SYNC) a vlastní data jsou zasílána pinem DATA (přijímána pinem SDATA). Veškeré nastavení se provádí připojením odpovídajících úrovní na potřebné piny, nic není třeba nastavovat změnou programového vybavení jednotek.
Na přijímací straně bude situace obdobná, přijímat signál bude opět WiFi modul, jehož výstupem jsou sériová data na UART sběrnici. Pro dekódování dat zpět na audio PCM, tedy rozklíčování na tři signály LRCK, SCK (BCK) a DATA, slouží receiver DIR9001 (obr. 6). Receiver je vybaven i dekodérem kmitočtu, takže nepotřebuje další oscilátor, pokud bude nastaven jako master.

Obr.6 Blokové schéma receiveru DIR9001

Data jsou zasílány do D/A převodníku PCM1782 (obr. 7), kde dochází k k rekonstrukci signálu na sterou audio. Výhodou je, že se opět nezasahuje do programového vybavení, ale připojením pinů na nízkou nebo vysokou úroveň dosáhneme požadovaného nastavení.

Obr. 7: Blokové schéma D/A převodníku PCM1782

Schématické propojení modulů je na obr. 8. Vše je napájeno 5V (analogová část) nebo 3V (digitální), takže je možný provoz na baterie. Spotřeba modulů se pohybuje řádově v mA, nejvyšší spotřebu mají WiFi moduly, kvůli vysílání a přenosu (až 250mA).

Obr. 8: Schéma propojení modulů na přijímací straně

Závěr

Výše uvedeným způsobem by mělo být možné provozovat A/D a D/A převodník ve spolupráci s WiFi modulem se sběrnicí UART. Transmitery DIT4192 (resp. receiver DIT9001) se většinou používají u domácích kin a studiové techniky, protože zajišťují propojení s koaxiálním vedením, XLR datovými kabely a optickými vysílači. Propojení s WiFi by tedy neměl být výrazný problém. Praktická realizace bude následovat, pokusím se tedy doplnit článek o zkušenosti s oživením a realizací.

Soubory

Datasheet A/D převodníku PCM4202
http://focus.ti.com/lit/ds/symlink/pcm4202-ep.pdf
Datasheet transmiteru DIT4292
http://focus.ti.com/lit/ds/symlink/dit4192.pdf
Datasheet D/A převodníku PCM1782
http://focus.ti.com/lit/ds/symlink/pcm1782.pdf
Datasheet receiveru DIR9001
http://focus.ti.com/lit/ds/symlink/dir9001.pdf
Datasheet WiFi modulu ConnectOne Mini Socket iWiFiTM
http://www.spezial.cz/pdf/Mini_Socket_iWiFi_DS_1_20.pdf