freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于arm的音頻接口設(shè)計-文庫吧

2025-06-08 15:15 本頁面


【正文】 送和接收FIFO操作都由DMA控制器完成,在發(fā)送和接收模式中有FIFO準備好標志來自動產(chǎn)生DMA服務(wù)請求。n 音頻串行接口格式1).IIS總線格式IIS總線具有4根信號線,包括串行數(shù)據(jù)輸入(IISDI),串行數(shù)據(jù)輸出(IISDO),左/右聲道選擇(IISLRCK)和串行數(shù)據(jù)時鐘(IISCLK);產(chǎn)生IISLRCK和IISCLK的是主設(shè)備。 串行數(shù)據(jù)總是以偶數(shù)個數(shù)據(jù)(為奇數(shù)時填充)且高位在先(MSB)發(fā)送。高位在先是因為發(fā)送器和接收器可能具有不同的字長,發(fā)送器沒有必要了解接收器能夠處理多少為數(shù)據(jù),接收器也不需了解多少位的數(shù)據(jù)正在被發(fā)送。 被發(fā)送器發(fā)出的串行數(shù)據(jù)可以依據(jù)始終信號的下降沿或者上升沿來同步。但是,串行數(shù)據(jù)必須在上升沿處鎖入接收器。左右聲道選擇線決定被傳輸?shù)耐ǖ?。IISLRCK可以在下降沿或者上升沿處改變。它不要求是均勻的。在從設(shè)備端,這個信號在上升沿處被鎖定。IISLRCK信號線改變到MSB發(fā)送之間有一個時鐘周期的時間。2).MsbJustified格式MSBJustified格式與IIS格式有相同的信號線,唯一的不同是,IISLRCK信號線改變后,MSB立即發(fā)送,期間沒有一個時鐘周期的時間。n IIS采集頻率和主設(shè)備時鐘IIS主設(shè)備時鐘頻率可以通過采樣頻率來選擇,如下表一所示。因為IIS主設(shè)備時鐘頻率是由IIS分頻器產(chǎn)生的(主設(shè)備時鐘頻率=PCLK/預(yù)分頻器值),因此必須選擇合適的預(yù)分頻值和CODECLK的采樣頻率類型(256或者384fs),才能獲得合適的IISLRCK頻率(IISLRCK頻率=主設(shè)備時鐘頻率/CODECLK)。串行位采樣頻率類型(16/32/48fs)可以通過配置信道的串行位數(shù)和CODECLK采樣頻率類型來完成(串行位時鐘頻率類型=CODECLK的采樣類型/串行數(shù)據(jù)位數(shù)),如下表2所示。表一 CODEC clock(CODECLK=256 或者384fs)表二 可用的serial bit clock frequency(IISCLK=16 or 32 or 48fs) 音頻芯片UDA1341 UDA1341TS是Philips公司的音頻CODEC。UDA134TS片內(nèi)集成了立體聲ADC、DAC,可以實現(xiàn)模擬信號和數(shù)字信號的相互轉(zhuǎn)換,其模擬輸入通道可用可編程增益放大器(PGA)和數(shù)字自動增益控制(AGC)對模擬信號進行處理。同時該芯片提供了DSP,可以處理數(shù)字音頻信號。 UDA134TS提供2組音頻信號輸入線,1組音頻信號輸出線,1組IIS總線接口信號線L3總線。音頻輸入和輸出線各有左右兩個聲道。IIS總線接口信號線包括位時鐘輸入BCK,字選擇輸入WS,數(shù)據(jù)輸入DATAI,數(shù)據(jù)輸出DATAO和音頻系統(tǒng)時鐘SYSCLK信號線。IIS總線只處理音頻數(shù)據(jù)UDA134TS內(nèi)置的L3總線相當于混音頻控制接口,可使微處理器對UDA134TS中得數(shù)字音頻處理參數(shù)和系統(tǒng)控制參數(shù)進行配置,如輸入/輸出音頻信號的音量存在很大差別;對UDA134TS的所有功能控制和狀態(tài)均通過L3總線實現(xiàn)。該接口包含了3個信號線,分別是串行數(shù)據(jù)線L3DATA、接口模式選擇線L3MODE和串行時鐘線L3CLOCK。L3接口操作有兩種模式:地址模式和數(shù)據(jù)傳輸模式。L3MODE為低電平時操作為地址模式,高電平時操作為數(shù)據(jù)傳輸模式。3 系統(tǒng)的軟件設(shè)計 軟件整體設(shè)計 嵌入式 Linux是一種完全開放且免費的操作系統(tǒng),其支持多種硬件體系結(jié)構(gòu),運行穩(wěn)定 ,擁有完善的開發(fā)工具,為開發(fā)人員提供了優(yōu)良的開發(fā)環(huán)境[5]。在嵌入式 Linux系統(tǒng)中,設(shè)備驅(qū)動程序提供了應(yīng)用程序和實際設(shè)備之間的一個軟件層(接口),為應(yīng)用程序屏蔽了硬件細節(jié)。本設(shè)計中,音頻設(shè)備驅(qū)動程序主要通過對硬件的控制實現(xiàn)音頻流的傳輸,同時向上層提供標準的音頻接口。整個音頻驅(qū)動程序包括設(shè)備初始化、打開設(shè)備、數(shù)字音頻處理(DSP)驅(qū)動、混頻器(MIXER)驅(qū)動和釋放設(shè)備等部分。本文由于篇幅的限制,僅介紹設(shè)備初始化及打開設(shè)備的實現(xiàn)。設(shè)備初始化是整個音頻驅(qū)動程序的開始部分,主要完成對UDA1341TS音量、采樣頻率、L3接口等的初始化,并且注冊設(shè)備。通過函數(shù)audio_init(void)完成以下具體功能: AT91RM9200控制端口(PA0、PAPA2)的初始化。為UDA1341TS分配 DMA通道。初始化UDA1341TS芯片。注冊音頻audio設(shè)備和混頻器設(shè)備。 WAV文件格式WAV聲音格式文件是Windows環(huán)境下的一種常用音頻文件格式,它遵循著一種稱為資源互換文件格式(Resources lnterchange File Format)的結(jié)構(gòu),簡稱RIFF。RIFF可以看作是一種樹狀結(jié)構(gòu),其基本構(gòu)成單位為chunk,猶如樹狀結(jié)構(gòu)中的節(jié)點,每個chunk由辨別碼、數(shù)據(jù)大小及數(shù)據(jù)所組成。WAV為WAVEFORM的縮寫。RIFF格式辨別碼為WAVE。整個文件由兩個chunk所組成:辨別碼fmt及data。 在“fmt”的chunk下包含了一個PCMWAVEFORMAT數(shù)據(jù)結(jié)構(gòu),在“fmt” chunk之后是原始聲音的采樣數(shù)據(jù),這些數(shù)據(jù)是可以直接送到IIS總線的數(shù)字音頻信號。典型的WAV文件結(jié)構(gòu):它包含8字節(jié)RIFF頭、4字節(jié)數(shù)據(jù)類型“WAVE”、fmt chunk(共0x18字節(jié))和 data chunk。因此,WAV文件中從下式中的sizeoff開始的四個字節(jié)表示聲音數(shù)據(jù)的大小,dataoff開始的位置為具體的聲音數(shù)據(jù)。sizeoff = 0x8+0x4+0x18+0x4=0x28dataoff = 0x8+0x4+0x18+0x8=0x2C 初始化UDA1341模塊:開始端口初始化地址選擇AD和DA增益控制選擇模式錄音:static void Init1341(char mode){ U16 FsIdx。//Port Initialize//// PORT B GROUP//Ports : GPB4 GPB3 GPB2 //Signal : L3CLOCK L3DATA L3MODE//Setting: OUTPUT OUTPUT OUTPUT // [9:8] [7:6} [5:4]//Binary : 01 , 01 01 // rGPBDAT = rGPBDAT amp。 ~(L3M|L3C|L3D) |(L3M|L3C)。 //Start condition : L3M=H, L3C=H rGPBUP = rGPBUP amp。 ~(0x72) |(0x72)。 //The pull up function is disabled GPB[4:2] 1 1100 rGPBCON = rGPBCON amp。 ~(0x3f4) |(0x154)。 //GPB[4:2]=Output(L3CLOCK):Output(L3DATA):Output(L3MODE) //L3 Interface _WrL3Addr(0x14 + 2)。 //STATUS (000101xx+10) _WrL3Data(0x60,0)。 //0,1,10, 000,0 : Status 0,Reset,256fs,IISbus,no DCfiltering _WrL3Addr(0x14 + 2)。 //STATUS (000101xx+10) FsIdx = mode?:。 if(CodecPara[FsIdx].ofs) _WrL3Data(0x18,0)。 //0,0,01, 000,0 : Status 0,No reset,384fs,IISbus,no DCfiltering else _WrL3Data(0x28,0)。 //0,0,10, 000,0 : Status 0,No reset,256fs,IISbus,no DCfiltering _WrL3Addr(0x14 + 2)。 //STATUS (000101xx+10) _WrL3Data(0xc1,0)。 //1,0,0,0, 0,0,01 //Status 1,Gain of DAC 6 dB,Gain of ADC 0dB,ADC noninverting,
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1