Windows CE下基于TSC2101音頻系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
出處:今日電子 發(fā)布于:2011-09-05 13:31:42
近年來(lái)掀起了嵌入式系統(tǒng)應(yīng)用的熱潮,嵌入式系統(tǒng)已經(jīng)滲透到我們生活中的每個(gè)角落,工業(yè)、服務(wù)業(yè)、消費(fèi)電子等等。Windows CE是一個(gè)開(kāi)放的、可裁剪的、32位的實(shí)時(shí)嵌入式操作系統(tǒng)。它具有可靠性好、實(shí)時(shí)性高、內(nèi)核體積小的特點(diǎn),被廣泛用于各種嵌入式智能設(shè)備的開(kāi)發(fā);在這些嵌入式應(yīng)用中,音頻模塊成為了大多數(shù)產(chǎn)品不可或缺的一部份。
音頻系統(tǒng)的硬件實(shí)現(xiàn)
本設(shè)計(jì)中的音頻驅(qū)動(dòng)采用Unified Audio模型實(shí)現(xiàn),基于Intel Xscale PXA272處理器和TI 的TSC2101音頻芯片,使用了基于I2S(Inter-IC Sound)總線的音頻系統(tǒng)體系結(jié)構(gòu),系統(tǒng)原理圖如圖1所示。Intel Xscale PXA272芯片集成了I2S控制器,通過(guò)I2S總線處理音頻數(shù)據(jù)。

圖1 系統(tǒng)原理圖
I2S是菲利浦公司提出的串行數(shù)字音頻總線協(xié)議。PXA272的I2S控制器控制了I2S鏈接,I2S控制器由數(shù)據(jù)緩沖、狀態(tài)和控制寄存器、計(jì)數(shù)器組成。它們將系統(tǒng)內(nèi)存和外設(shè)的音頻解碼芯片(TSC2101)連接,產(chǎn)生同步音頻。播放音頻文件時(shí),I2S控制器通過(guò)I2SLINK連接將系統(tǒng)內(nèi)存中數(shù)字化的聲音樣本發(fā)送到外設(shè)的TSC2101音頻解碼芯片中,然后由TSC2101芯片的數(shù)模轉(zhuǎn)換器將數(shù)字音頻信號(hào)轉(zhuǎn)換成模擬信號(hào)。
I2S控制器通過(guò)DMA方式來(lái)訪問(wèn)。DMA方式下,DMA控制器只能通過(guò)串行音頻數(shù)據(jù)寄存器(SADR)訪問(wèn)FIFO。DMA控制器通常以8、16或32字節(jié)大小的塊存取FIFO隊(duì)列數(shù)據(jù)的。
本設(shè)計(jì)中采用的音頻芯片TSC2101集成了立體聲音頻解碼、觸摸屏控制芯片,立體聲DAC能以高達(dá)48Kb/s的采樣率播放音頻文件,專供PDA、PMP、智能手機(jī)和MP3播放機(jī)使用。TSC2101 將揚(yáng)聲器放大器、耳機(jī)放大器和四線觸摸屏控制器與音頻編解碼器集成再一起,帶有一個(gè)立體聲頭戴送受話器接口、一個(gè)手機(jī)送受話器接口、一個(gè)單聲道8Ω揚(yáng)聲器放大器以及一個(gè)32Ω受話器驅(qū)動(dòng)器,并集成有一個(gè)電池監(jiān)控器和一個(gè)片上溫度傳感器。
TSC2101芯片的電路設(shè)計(jì)如圖2所示。

圖2 TSC2101芯片電路設(shè)計(jì)
本設(shè)計(jì)為T(mén)SC2101在智能手機(jī)中的運(yùn)用,CP-IN為通信模塊的語(yǔ)音輸入,CP-OUT則為音頻系統(tǒng)到通信模塊的輸出,在實(shí)際的應(yīng)用中MIC1可以通過(guò)TSC2101的內(nèi)部PGA(可編程增益放大)、AGC(自動(dòng)增益控制)電路連接到CP-OUT,實(shí)現(xiàn)智能手機(jī)的話筒功能;同時(shí),MIC1輸入還可以通過(guò)內(nèi)部的ADC將語(yǔ)音數(shù)據(jù)采樣后經(jīng)I2S總線傳輸?shù)教幚砥鞔鎯?chǔ)空間實(shí)現(xiàn)錄音功能。當(dāng)然,在智能手機(jī)通話的同時(shí),還可以實(shí)現(xiàn)通話錄音功能。電路圖中的38~41引腳為SPI接口,42~46引腳為I2S控制引腳,引腳9~12為觸摸屏輸入,引腳27和28為音頻輸出可以連接耳機(jī),引腳26連接手機(jī)聽(tīng)筒,引腳33、35連接外置揚(yáng)聲器。
采用Unified Audio模型實(shí)現(xiàn)音頻驅(qū)動(dòng)
音頻驅(qū)動(dòng)的一種方法,是采用Unified Audio模型,即不分層的音頻驅(qū)動(dòng)模型,這種模型的音頻驅(qū)動(dòng)支持標(biāo)準(zhǔn)的波形驅(qū)動(dòng)接口。在分層的音頻驅(qū)動(dòng)中,驅(qū)動(dòng)程序由MDD和PDD組成,MDD層執(zhí)行與硬件平臺(tái)無(wú)關(guān)的功能,PDD層則是直接與硬件平臺(tái)相關(guān)的操作,而在Unified Audio模型中,MDD和PDD的分層是不必要的,圖3是Unified Audio模型的音頻驅(qū)動(dòng)結(jié)構(gòu)。

圖3 Unified Audio模型的音頻驅(qū)動(dòng)結(jié)構(gòu)
在這種模型下,音頻驅(qū)動(dòng)仍然是以流接口的形式實(shí)現(xiàn),分別實(shí)現(xiàn)了WAV-close()、WAV-PowerDown()、WAV-Deinit()、 WAV-PowerUp()、WAV-Init()、WAV-Read()、WAV-IOControl()、WAV-Seek()、WAV-Open()、WAV-Write()這幾個(gè)標(biāo)準(zhǔn)的流接口函數(shù)。
DMA緩存區(qū)設(shè)計(jì)與實(shí)現(xiàn)
由于音頻設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)對(duì)設(shè)備的實(shí)時(shí)性要求較高,所以DMA緩存區(qū)設(shè)計(jì)以及合理地利用緩存區(qū)加快對(duì)音頻數(shù)據(jù)的處理,減少延時(shí)變得十分重要。
DMA控制器是使CPU處理其他與數(shù)據(jù)總線無(wú)關(guān)的處理,而由DMA控制器負(fù)責(zé)數(shù)據(jù)傳輸?shù)臋C(jī)制,這種機(jī)制使得CPU從繁重的數(shù)據(jù)傳輸中解脫出來(lái),可以執(zhí)行其他計(jì)算,從而提高了系統(tǒng)運(yùn)行速度。PXA272的DMA控制器提供了32個(gè)DMA通道,0~31。這些通道提供了flow-through 和fly by的數(shù)據(jù)傳輸方式。
在本設(shè)計(jì)中,使用雙緩存區(qū)DMA通道設(shè)計(jì),如圖4所示,當(dāng)CPU正在處理某一個(gè)緩存區(qū)數(shù)據(jù)的同時(shí),DMA控制器可以完成另一個(gè)緩存區(qū)數(shù)據(jù)的傳輸,如此交替下去,則可以提高系統(tǒng)的并行能力,提高音頻處理的實(shí)時(shí)性。
本設(shè)計(jì)中使用MapDMABuffers()函數(shù)實(shí)現(xiàn)DMA音頻數(shù)據(jù)緩存區(qū)的分配,函數(shù)主要實(shí)現(xiàn)的功能是:分配接收和發(fā)送音頻數(shù)據(jù)的DMA緩存區(qū)。
結(jié)束語(yǔ)
本文分析了嵌入式Windows CE操作系統(tǒng)基于TSC2101音頻芯片的音頻系統(tǒng)實(shí)現(xiàn)的基本原理及其驅(qū)動(dòng)程序模型;并結(jié)合具體程序重點(diǎn)描述了DMA雙緩存區(qū)的實(shí)現(xiàn)方法和原理,本設(shè)計(jì)在實(shí)際運(yùn)用中能夠滿足音頻系統(tǒng)的實(shí)時(shí)性要求。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開(kāi)發(fā)實(shí)踐指南2026/1/6 10:40:19
- 嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計(jì)實(shí)踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開(kāi)啟異核通信新時(shí)代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識(shí)2025/7/14 16:59:04
- 編碼器的工作原理及作用1
- 超強(qiáng)整理!PCB設(shè)計(jì)之電流與線寬的關(guān)系2
- 三星(SAMSUNG)貼片電容規(guī)格對(duì)照表3
- 電腦藍(lán)屏代碼大全4
- 國(guó)標(biāo)委發(fā)布《電動(dòng)汽車(chē)安全要求第3部分:人員觸電防護(hù)》第1號(hào)修改單5
- 通俗易懂談上拉電阻與下拉電阻6
- 繼電器的工作原理以及驅(qū)動(dòng)電路7
- 電容單位8
- 跟我學(xué)51單片機(jī)(三):?jiǎn)纹瑱C(jī)串口通信實(shí)例9
- 一種三極管開(kāi)關(guān)電路設(shè)計(jì)10









