D/A převodník pro audio s externím ovládáním pomocí mikrokontroléru

| Kategorie: Diplomové, bakalářské práce  | Tento dokument chci!

Tato diplomová práce je vnována konstrukci laboratorního pípravku s D/A pevodníkem pro audio a nízkofrekvenní signály. V úvodní kapitole je nastíněn teoretický úvod do problematiky A/D a D/A převod. V následujících kapitolách je pak již prezentováno vlastní technické ešení laboratorního přípravku, kde obvod s D/A převodníkem AD1852 je doplněn o digitální přijímač audio signálu CS8416. Ten zajišťuje kompatibilitu pi připojení k externím audio zařízením disponujícím digitálními rozhraními, jako jsou např. SPDIF nebo AES3. Digitální přijímač i audio D/A převodník jsou navíc opatřeny sériovým komunikačním rozhraním, pomocí kterého je možné nastavovat většinu parametrů vstupního audio signálu. Toto nastavení je prováděno pomocí navrženého ovládacího softwaru pro externí mikrokontrolér adyAT mega32. V práci je prezentován blokový a obvodový návrh přípravku a to vetšině technické a konstrukční dokumentace celého zařízení.

Vydal: FEKT VUT Brno Autor: Jan Špaček

Strana 59 z 102

Vámi hledaný text obsahuje tato stránku dokumentu který není autorem určen k veřejnému šíření.

Jak získat tento dokument?






Poznámky redaktora
5.46 4. Celý zdrojový kód uveden pĜíloze CD. • Ovládací knihovna pro D/A pĜevodník ad1852.c void DRx_init(void); //funkce inicializace digitálního pĜijímaþe void SPI_MasterAndSlaveInit(void); //funkce inicializace SPI rozhraní (pro digitální pĜijímaþ) void SPI_DR_Tx(unsigned char unsigned char data); //funkce pro zápis dat do registrĤ pĜijímaþe SPI char SPI_DR_Rx(unsigned char m); //funkce pro þtení dat registrĤ pĜijímaþe SPI void DRx_set_val(void); //funkce pro nastavení výchozích (default) hodnot (parametrĤ pĜenosu audio dat) digitálního pĜijímaþe druhá þást inicializace void DRx_Run(void); //funkce pro softwarové nastartování digitálního pĜijímaþe (použít nastavení defaultních hodnot ustálení hodinového signálu) void f0_fswclk(unsigned char sclk); //Registr 00h, nastavování funkce FSWCLK void f0_pdur(unsigned char pdu); //Registr 00h, nastavování funkce PDUR void f0_trunc(unsigned char trun); //Registr 00h, nastavování funkce TRUNC void f1_swclk(unsigned char wclk); //Registr 01h, nastavování funkce SWCLK void f1_mutesao(unsigned char muteo); //Registr 01h, nastavování funkce MUTESAO void f1_int(unsigned char intc); //Registr 01h, nastavování funkce INT void f1_hold(unsigned char hold); //Registr 01h, nastavování funkce HOLD void f1_rmckf(unsigned char mck); //Registr 01h, nastavování funkce RMCKF void f1_chs(unsigned char chset); //Registr 01h, nastavování funkce CHS void f2_detci(unsigned char dtc); //Registr 02h, nastavování funkce DETCI void f2_emph_cntl(unsigned char emph); //Registr 02h, nastavování funkce EMPH_CNTL void f2_gpo0sel(unsigned char gpo0c); //Registr 02h, nastavování funkce GPO0SEL void f3_gpo1sel(unsigned char gpo1c); //Registr 03h, nastavování funkce GPO1SEL void f3_gpo2sel(unsigned char gpo2c); //Registr 03h, nastavování funkce GPO2SEL void f4_run(unsigned char run); //Registr 04h, nastavování funkce RUN void f4_rxd(unsigned char rxd); //Registr 04h, nastavování funkce RXD void f4_rxsel(unsigned char inp); //Registr 04h, nastavování funkce RXSEL void f4_txsel(unsigned char pstr);//Registr 04h, nastavování funkce TXSEL void f5_soms(unsigned char msms); //Registr 05h, nastavování funkce SOMS void f5_sosf(unsigned char osclk);//Registr 05h, nastavování funkce SOSF void f5_sores(unsigned char sor); //Registr 05h, nastavování funkce SORES void f5_sojust(unsigned char jsd);//Registr 05h, nastavování funkce SOJUST void f5_sodel(unsigned char dsd); //Registr 05h, nastavování funkce SODEL void f5_sospol(unsigned char osp);//Registr 05h, nastavování funkce SOSPOL void f5_solrpol(unsigned char olrp);//Registr 05h, nastavování funkce SOLRPOL void f6_rerrm_on(unsigned char errmon); //Registr 06h, funkce pro zapínání bitĤ masky chybového registru void f6_rerrm_off(unsigned char errmoff); //Registr 06h, funkce pro vypínání bitĤ masky chybového registru void f7_intm_on(unsigned char intmon); //Registr 07h, funkce pro zapínání bitĤ masky registru pĜerušení void f7_intm_off(unsigned char intmoff); //Registr 07h, funkce pro vypínání bitĤ .c void DAC_init(void); //funkce inicializace D/A pĜevodníku void SPI_MasterInit(void); //funkce inicializace SPI rozhraní (pro D/A pĜevodník) void SPI_DA_Tx(char cData2, char cData1); //funkce pro odesílání 16-bitových dat po SPI void set_volume_left(unsigned int vol); //funkce nastavení hlasitosti pro levý kanál void set_volume_right(unsigned int vol); //funkce nastavení hlasitosti pro pravý kanál void set_int_mode(unsigned char im); //funkce nastavení módu vzorkování void set_serial_mode(unsigned char sdim); //funkce nastavení zarovnání signálu void set_no_of_bits(unsigned char nob); //funkce nastavení bitového rozlišení void set_deemp_filter(unsigned char df); //funkce nastavení deemfázového filtru void mute(unsigned char m); //funkce pro ztlumení signálu (MUTE) void soft_reset(void); //funkce pro softwarový reset obvodu AD1852 (RESET) • Ovládací knihovna pro digitální pĜijímaþ cs8416.c“) hlavním Ĝídícím programu, které jsou používány.1 Soupis hlaviþek funkcí V této podkapitole jsou sepsány hlaviþky všech funkcí ovládacích knihovnách (kromČ knihovny „lcd